<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Go通道的同步功能 我們使用通道來同步協程之間的執行。 下面的例子是通過獲取同步通道數據來阻塞程序執行的方法來等待另一個協程運行結束的。 也就是說main函數所在的協程在運行到`<-done`語句的時候將一直等待worker函數所在的協程執行完成,向通道寫入數據才會(從通道獲得數據)繼續執行。 ```go package main import "fmt" import "time" // 這個worker函數將以協程的方式運行 // 通道`done`被用來通知另外一個協程這個worker函數已經執行完成 func worker(done chan bool) { fmt.Print("working...") time.Sleep(time.Second) fmt.Println("done") // 向通道發送一個數據,表示worker函數已經執行完成 done <- true } func main() { // 使用協程來調用worker函數,同時將通道`done`傳遞給協程 // 以使得協程可以通知別的協程自己已經執行完成 done := make(chan bool, 1) go worker(done) // 一直阻塞,直到從worker所在協程獲得一個worker執行完成的數據 <-done } ``` 運行結果 ``` working...done ``` 如果我們從main函數里面移除`<-done`語句,那么main函數在worker協程開始運行之前就結束了。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看