管道 channel
关闭管道
|
|
通过close可以关闭管道,关闭后,不能写入东西,不能读取。可以通过ok判断。也可以通过range遍历
单向管道
|
|
有无缓冲管道
|
|
可以看到有缓冲管道在装满时,阻塞。
runtime的使用
让出时间片
|
|
主线程运行结束,go协程运行没有结束,就会被自动关闭。会没有go的输出。让出时间片,就可以看到go协程的输出。
|
|
退出子线程
|
|
输出:
aa
dd
cc
bb
取消return的注释后, 会输出:
aa
cc
bb
由此说明,return退出的是函数
取消 runtime.Goexit() 的注释,会输出:
aa
cc
说明退出了整个线程
最大并行数
|
|
time的使用
定时器的创建
|
|
定时2秒钟。
sleep
|
|
After
|
|
stop
|
|
取消timer.Stop()的注释,子线程将不会结束。因为在stop以后,timer.C 管道中不会有信息。
Reset
|
|
重新设置定时器时间
Ticker
|
|
可以多次使用的定时器