go channel频道

通道充当管道, 我们通过管道将键入的值从一个Go routine发送到另一个Go routine。由于在任何给定时间只有一个Go routine可以访问数据项, 因此可以保证同步。数据的所有权在不同的Go routine之间传递。因此, 通过设计, 它避免了共享内存的陷阱, 并防止了竞争情况。

Go频道示例

package main
import "fmt"
import "time"
func worker(done chan bool) {
   fmt.Print("working...")
   time.Sleep(time.Second)
   fmt.Println("done")
   done <- true
}
func main() {
   done := make(chan bool, 1)
   go worker(done)
   <-done
}

输出:

working...done
微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_50015.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?