在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
goroutine(极少的栈内存,比thread更易用、更高效、更轻便) runtime.Gosched()表示把CPU时间片让给别人,下次某个时候恢复执行该goroutine 想要发挥多核处理器的并行,设置runtime.GOMAXPROCS(n) 默认情况下,channel接受和发送数据都是阻塞的,除非另一端已经准备好,这样就使得goroutines同步变的更加的简单,而不需要显示的lock。 ch:=make(chan type,value) value==0 ! 无缓冲(阻塞) value>0 !缓冲 (非阻塞,直到value个元素) range 能够不断的读取channel里面的数据,直到该channel被显示的关闭。 生产者通过关键字close函数关闭channel, 如果存在多个channel,Go提供了关键字select,通过select可以监听channel上的数据流动。select默认是阻塞的,只有当监听的channel中有发送或者接受可以进行时才会运行。,当多个channel都准备好的时候, select是随机的选择一个执行的。 |
请发表评论