当前位置: 首页 > news >正文

资讯门户网站 dede男女做那个能看的视频网站

资讯门户网站 dede,男女做那个能看的视频网站,大连企业名录大全,九州建网站一.GO并发编程综合应用 1.生产者消费者模式 1.1需求分析 ​ 生产者每秒生产一个商品#xff0c;并通过物流公司取货 ​ 物流公司将商品运输到商铺 ​ 消费者阻塞等待商铺到货#xff0c;需要消费10次商品 1.2实现原理 1.3代码实现#xff1a; package mainimport (并通过物流公司取货 ​ 物流公司将商品运输到商铺 ​ 消费者阻塞等待商铺到货需要消费10次商品 1.2实现原理 1.3代码实现 package mainimport (fmtstrconvtime )func main() {storageChan : make(chan Product, 10)shopChan : make(chan Product, 10)exitChan : make(chan bool, 1)for i : 1; i 9; i {go Producer(storageChan, 10)}go Logistics(storageChan, shopChan)go Consumer(shopChan, 10, exitChan)if -exitChan {return} }// Product 商品 type Product struct {Name string }// Producer 生产者 func Producer(storageChan chan- Product, count int) {for {producer : Product{商品 strconv.Itoa(count)}storageChan - producercount--time.Sleep(time.Second)fmt.Println(生产了, producer)if count 1 {return}} }// Logistics 物流公司 func Logistics(storageChan -chan Product, shopChan chan- Product) {for {product : -storageChanshopChan - productfmt.Println(运输了, product)} }// Consumer 消费者 func Consumer(shopChan -chan Product, count int, exitChan chan- bool) {for {product : -shopChanfmt.Println(消费了, product)count--if count 1 {exitChan - truereturn}} }2.协程管道定时任务的应用 2.1需求分析 ​ 1.定时执行某个任务类似延时消息队列 ​ 2.或者周期性的执行某个任务类似定期同步某些数据 2.2实现原理 2.3代码实现 package mainimport (fmttime )func main() {//方式1fmt.Println(当前时间, time.Now())//timer : time.NewTimer(time.Second * 3)//t : -timer.C //timer.C一个只读的管道//fmt.Println(t)//方式二t : -time.After(time.Second * 3) //源码可见实际上NewTimer(d).Cfmt.Println(t) }3.定时器的终止与重置 ​ NewTimer, Stop, Reset package mainimport (fmtmath/randtime )var flag bool isStopTimer()func main() {//方式1fmt.Println(当前时间, time.Now())timer : time.NewTimer(time.Second * 3)if flag {timer.Stop() //如果停止了timer,还去拿fatal error: all goroutines are asleep - deadlock!} else {t : -timer.C //timer.C一个只读的管道fmt.Println(t)}}func isStopTimer() bool {rand.Seed(time.Now().UnixNano())tempInt : rand.Intn(2) 18if tempInt 18 {fmt.Println(已经找到了大于18,结束timer)return true} else {return false} }func isResetTimer() int {rand.Seed(time.Now().UnixNano())tempInt : rand.Intn(4) 19fmt.Println(已经找到,tempInt)return tempInt-18 }4.需要每隔时间触发任务 4.1实现原理 4.2代码实现 package mainimport (fmttime )func main() {var count int 0ticker : time.NewTimer(time.Second * 1)go func() {for {t : -ticker.Cfmt.Println(时间, t.Format(2006-01-02 03:04:05PM))countif count 2 {ticker.Stop()}}}()time.Sleep(time.Second * 10)fmt.Println(游戏结束) }4.3改造成任务队列 package mainimport (fmtsynctime )func main() {var count int 0var wg sync.WaitGroupwg.Add(1)ticker : time.NewTicker(time.Second * 1)go func() {defer wg.Done()defer ticker.Stop()for {t : -ticker.Cfmt.Println(时间, t.Format(2006-01-02 03:04:05PM))countif count 2 {return}}}()wg.Wait()fmt.Println(游戏结束) }
http://wiki.neutronadmin.com/news/304753/

相关文章:

  • 岳阳做网站公司wordpress没权重
  • pc网站 手机网站 微信网站 上海水果营销软文
  • 网站制作公司 深圳网络营销推广8种方法
  • 广州白云学校网站建设做全屏网站设计时容易犯的错
  • 网站宽度960全球设计网优秀版式作品
  • 东莞著名网站建设企业做外贸怎么看外国网站
  • 郑州网站建设九零后商河做网站公司
  • 网站程序源码上传到空间打开网站首页还是显示的程序原源代码网站后台首页模板
  • 重庆品牌网站建设公司排名设计制作建筑模型综合实践教案
  • 网站友情链接怎么样做星子网房产租房
  • 在进行网站设计时app和网站开发哪个难
  • 建设网站需要花费多少钱蛋糕店网站建设方案
  • 制作网站的成本规划如何优化
  • 巩义郑州网站建设学网站开发好吗
  • 自适应网站制作公司dedecmsv5.6 qq空间网站模板
  • 老实人做网站盗版小说网站怎么做
  • 网站设计服务流程免费一级做网站
  • 网站在谷歌怎么做排名wordpress 收费主题破解版
  • 上海做网站站优云一一十七济源市建设管理处网站
  • 网上写作最好的网站网站设计外包协议
  • 成都网站建设公司是什么意思wordpress手机网站插件
  • 猪八戒网做网站哈尔滨创意网站建设
  • 网站群管理平台装修设计平台
  • 网页 网站 站点的区别如何写软文
  • 集团网站群建设西安网站建设网络
  • 电子商务网站建设与维护论文十大保洁公司
  • 个人备案网站投放广告做网站怎么签订协议
  • 动漫网站开发设计思想小企业网站建设菌算
  • 湖南英文网站建设品牌策划与设计机构
  • 网站建设的合同条款连锁店销售管理系统