<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之旅 廣告
                ``` package main import ( "fmt" "time" ) func putNum(intChan chan int) { for i := 1; i <= 8000; i++ { ? ? ? ? intChan <- i ? ? } close(intChan) } func primeNum(intChan chan int, primeChan chan int, exitChan chan bool) { for { ? ? ? ? time.Sleep(time.Millisecond) //由于輸出流的問題,不加sleep有可能導致退出提前輸出,實際執行順序是對的 num, ok := <-intChan if !ok { break //取不到了 ? ? ? ? } flag := true //判斷num是否為素數 for i := 2; i < num; i++ { if num%i == 0 { //num不是素數 flag = false break } } if flag { primeChan <- num } } ? ? fmt.Println("有一個primeNum協程因為取不到數據,退出") //向exitchan寫入退出標識 exitChan <- true } func main() { intChan := make(chan int, 10) for i := 0; i < 10; i++ { ? ? ? ? intChan <- i } stringChan := make(chan string, 5) for i := 0; i < 5; i++ { stringChan <- "hello" + fmt.Sprintf("%d", i) } //傳統的方式在遍歷管道時,如果不關閉會阻塞而導致deadlock //問題:在實際開發中,無法確定什么時候關閉該管道 //可以使用select方式解決 for { select { //如果intChan一直沒有關閉,不會一直阻塞而導致deadlock //會自動到下一個case匹配 case v := <-intChan: ? ? ? ? ? ? fmt.Printf("從intchan讀取的數據%d\\n", v) ? ? ? ? ? ? time.Sleep(time.Second) case v := <-stringChan: fmt.Printf("從stringChan讀取的數據%s\\n", v) ? ? ? ? ? ? time.Sleep(time.Second) default: fmt.Printf("都取不到\\n") time.Sleep(time.Second) break //無法退出for循環,解決方法如下 //return(方法一) //label goto(方法二) } ? ? } } ```
                  <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>

                              哎呀哎呀视频在线观看