<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 無緩沖channel 無緩沖通道(unbuffered channel)是指在接收錢沒有能力保存任何值的通道. 這種類型的通道要求發送goroutine和接收goroutine同事準備好,才能完成發送和接收操作. 如果兩個goroutine 沒有同時準備好,通道會導致先執行發送或接收操作的goroutine阻塞等待 . 這種對通道進行發送和接收的交互行為本身就是同步的,其中任意一個操作都無法離開另一個操作單獨存在 . ### 創建方式 ~~~ make(chan Type) //等價于make(chan Type ,0) ~~~ 如果沒有指定緩沖容量,那么該通道就是同步的,因此會阻塞到發送者準備好發送和接收者準備好接收 . ### 無緩沖channel特點 當你寫的時候,對面沒讀,寫方會阻塞. 當你讀的時候,對面沒寫,讀方會堵塞 . ~~~ func main() { ch := make(chan int, 0) //創建一個無緩沖channel fmt.Printf("緩沖區剩余數據個數 = %d ,緩沖區容量 = %d\n", len(ch), cap(ch)) //新建協程 go func() { for i := 0; i < 3; i++ { fmt.Println("子協程i = ", i) ch <- i //往channel寫數據 } }() time.Sleep(2 * time.Second) //延遲2秒 for i := 0; i < 3; i++ { num := <-ch fmt.Println("num = ", num) } } ~~~ ~~~ 緩沖區剩余數據個數 = 0 ,緩沖區容量 = 0 子協程i = 0 num = 0 子協程i = 1 子協程i = 2 num = 1 num = 2 ~~~
                  <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>

                              哎呀哎呀视频在线观看