真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

select、定時器

應(yīng)用場景舉例:
一個任務(wù)管道滿了,再往里面塞就塞不進去了,瀏覽器刷不出來了。用戶即便關(guān)了瀏覽器可能依然在阻塞......

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的呂梁網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

package main

import "fmt"
import "time"

func main() {
   var ch chan int
   ch = make(chan int, 10)
   ch3 := make(chan int, 10)
   go func() {
      var i int
      for {
         ch <- i
         time.Sleep(time.Second)
         ch3 <- i * i
         time.Sleep(time.Second)
         i++
      }
   }()
   for {
      select { //這個case如果不能從ch中獲取數(shù)據(jù),則會立即走下一個
      case v := <-ch:
         fmt.Println(v) //這個case如果不能從ch3中獲取數(shù)據(jù),則會立即走下一個
      case v := <-ch3:
         fmt.Println(v) //然而這樣寫可能有內(nèi)存泄漏!
      case <-time.After(time.Second):
         fmt.Println("get data timeout")
         time.Sleep(time.Second)
      default:
         fmt.Println("===================")
         time.Sleep(time.Second)
      }
   }
}

上面的寫法可能會有內(nèi)存泄漏!

package main

import (
   "fmt"
   "runtime"
   "time"
)

func main() {
   num := runtime.NumCPU()
   runtime.GOMAXPROCS(num - 1)
   for i := 0; i < 16; i++ {
      go func() {
         for { 
            //每秒執(zhí)行一次
            t := time.NewTicker(time.Second)
            select {
            case <-t.C:
               fmt.Println("timeout")
            } //一定要關(guān)閉
            t.Stop()
         }
      }()
   }

   time.Sleep(time.Second * 100)
}

go官方文檔的建議:
select、定時器

select、定時器

select、定時器

select、定時器

select、定時器

select、定時器

select、定時器

select、定時器

select、定時器

select、定時器


分享題目:select、定時器
網(wǎng)站地址:http://weahome.cn/article/gsjohi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部