github.com/gogf/gf@v1.16.9/.example/os/gtimer/sleep1.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"runtime"
     6  	"time"
     7  )
     8  
     9  func main() {
    10  	go func() {
    11  		for {
    12  			time.Sleep(time.Microsecond)
    13  			go func() {
    14  				n := 0
    15  				for i := 0; i < 100000000; i++ {
    16  					n += i
    17  				}
    18  			}()
    19  		}
    20  	}()
    21  	i := 0
    22  	t := time.Now()
    23  	for {
    24  		time.Sleep(100 * time.Millisecond)
    25  		i++
    26  		n := time.Now()
    27  		fmt.Println(i, runtime.NumGoroutine(), n, (n.UnixNano()-t.UnixNano())/1000000)
    28  		t = n
    29  		if i == 100 {
    30  			break
    31  		}
    32  	}
    33  }