zoukankan      html  css  js  c++  java
  • 3.10 计算代码运行的时长

    
    package main
    
    import (
    	"fmt"
    	"sync"
    	"time"
    )
    
    func main() {
    
    	t := time.NewTimer(3 * time.Second)
    	fmt.Printf("Start waiting at %v
    ", time.Now().Format(time.UnixDate))
    	<-t.C
    	fmt.Printf("Code executed at %v
    ", time.Now().Format(time.UnixDate))
    
    	wg := &sync.WaitGroup{}
    	wg.Add(1)
    	fmt.Printf("Start waiting for AfterFunc at %v
    ", time.Now().Format(time.UnixDate))
    	time.AfterFunc(3*time.Second, func() {
    		fmt.Printf("Code executed for AfterFunc at %v
    ", time.Now().Format(time.UnixDate))
    		wg.Done()
    	})
    
    	wg.Wait()
    
    	fmt.Printf("Waiting on time.After at %v
    ", time.Now().Format(time.UnixDate))
    	<-time.After(3 * time.Second)
    	fmt.Printf("Code resumed at %v
    ", time.Now().Format(time.UnixDate))
    
    }
    
    /*
    
    Start waiting at Thu Mar 22 00:32:42 CST 2018
    Code executed at Thu Mar 22 00:32:45 CST 2018
    Start waiting for AfterFunc at Thu Mar 22 00:32:45 CST 2018
    Code executed for AfterFunc at Thu Mar 22 00:32:48 CST 2018
    Waiting on time.After at Thu Mar 22 00:32:48 CST 2018
    Code resumed at Thu Mar 22 00:32:51 CST 2018
    
    */
    
    
  • 相关阅读:
    运算符的方向--好神奇
    a++ 和 ++a ;
    c语言中!和~的区别
    函数的参数,参数为数组
    反射的理解
    ThreadLocal类
    多线程面试题-sleep()和wait()区别
    话题1-关键字
    实现多线程的另一种方式-Callable
    线程池
  • 原文地址:https://www.cnblogs.com/zrdpy/p/8620888.html
Copyright © 2011-2022 走看看