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

哪个网站能帮助做路书网站采集注意

哪个网站能帮助做路书,网站采集注意,卧龙区微网站开发,做h5页面的网站有哪些用channel控制goroutine的退出 本文简要介绍了#xff0c;如何用channel控制goroutine的退出的基本方法 for-range主动停止goruitine package mainimport (fmtsynctime )/* Go并发编程模型#xff1a;主动停止goroutine 方法一#…用channel控制goroutine的退出 本文简要介绍了如何用channel控制goroutine的退出的基本方法 for-range主动停止goruitine package mainimport (fmtsynctime )/* Go并发编程模型主动停止goroutine 方法一for-rang从channel上接收值直到channel关闭 */ var wg sync.WaitGroupfunc work(ch chan int) {defer wg.Done()// for range关键字将其使用在channel上时会自动等待channel的动作一直到channel被关闭close// 也就是clase(sh)后for range就会退出for i : range ch {fmt.Println(i)}fmt.Println(work exit) }func main() {wg.Add(1)var ch chan intch make(chan int)go work(ch)for i : 0; i 3; i {time.Sleep(1 * time.Second)ch - i}time.Sleep(3 * time.Second)for i : 4; i 7; i {time.Sleep(1 * time.Second)ch - i}// close(sh)来控制work协程中的for range的完成close(ch)wg.Wait() } 后台定时任务 // 设定一个定时器当定时器触发是就执行一次任务tricker : time.NewTicker(1 * time.Second)defer fmt.Println(tricker.Stop())defer tricker.Stop()for {select {case -stopCh:fmt.Println(do1 exit.)return//心跳心跳一次就执行一次任务case -tricker.C:time.Sleep(1 * time.Second)fmt.Println(do1 doing....)}}使用stopCh控制goroutine退出 package mainimport (fmtsynctime )var wg sync.WaitGroupfunc do1(stopCh chan struct{}) {defer wg.Done()for {select {case -stopCh:fmt.Println(go1 exit.)returndefault:time.Sleep(1 * time.Second)fmt.Println(go1 doing....)}} } func do2(stopCh chan struct{}) {defer wg.Done()for {select {case -stopCh:fmt.Println(go2 exit.)returndefault:time.Sleep(1 * time.Second)fmt.Println(go2 doing....)}} }func main() {wg.Add(2)stopCh : make(chan struct{})go do1(stopCh)go do2(stopCh)time.Sleep(5 * time.Second)// 让一个goroutine退出stopCh - struct{}{}time.Sleep(5 * time.Second)// 让另一个goroutine退出stopCh - struct{}{}wg.Wait()} 关闭channel来控制goroutine退出 package mainimport (fmtsynctime )/* 多个通道都关闭才退出 利用select的一个特性select不会在nil的通道上进行等待 */ var wg sync.WaitGroupfunc work(in, exit1, exit2 chan bool) {defer wg.Done()for {select {// 当exit管道收到信号后退出goroutinecase v : -exit1:fmt.Println(exit1 收到退出信号)fmt.Println(v, v)exit1 nilcase -exit2:fmt.Println(exit2 收到退出信号)exit2 nilcase value : -in:fmt.Println(value)}fmt.Println(time.Now())fmt.Println(遍历了一次)// 当2个退出通道都收到信号时就退出for循环if exit1 nil exit2 nil {return}}}func main() {in : make(chan bool)exit1 : make(chan bool)exit2 : make(chan bool)wg.Add(1)go work(in, exit1, exit2)for i : 0; i 6; i {time.Sleep(5 * time.Millisecond)in - true}// 主动停止goroutine方法一//exit1 - 1//exit2 - 1// 主动停止goroutine方法二close(exit1)close(exit2)wg.Wait()}
http://www.hkea.cn/news/14392349/

相关文章:

  • 茶叶网站的建设策划书福步外贸论坛app下载
  • 网站域名使用费衡阳市住房和城乡建设部网站
  • 如何防止网站攻击襄阳seo推广
  • 在一呼百应上做网站行吗餐饮网站建设背景
  • 风信子 网站建设做网站推广的销售怎么打电话
  • 网站架构是什么手机版的网站制作
  • 盐城网站建设推广优化divi wordpress json
  • 网站建设seo推广小门户网站模板
  • 问卷调查网站赚钱如何自己安装wordpress
  • 中铁建设集团网站玛丁图商城网站开发
  • html如何做网站怎样黑网站
  • 做什么网站h5网站显示的图标怎么做
  • 彩票游戏网站开发wordpress 制作安装包
  • 模板建站影响网站的优化排名宣传片拍摄的意义
  • 手机网站的内容模块给网站做排名优化学什么好
  • 网站改版后新版前台如何跟旧版后台链接国家企业信用系统
  • 厦门网站制作计划找人做网站注意什么问题
  • 南宁定制网站制作网络公司临西企业做网站
  • 不会编程能建网站电子商务网站建设购物车
  • 营销方案 网站wordpress子主题下载
  • 擦边球网站怎么建设常州网站建设平台
  • 深圳app网站建设陈俊兵南昌专业做网站公司
  • 网站备案 写共享可以吗百度下载并安装最新版
  • 网站开发属于哪个税收分类注册个公司大概多少钱
  • 建设银行短信带网站官方网站套餐
  • 网页设计与制作个人网站泉州模板网站建站
  • 淮安市城市建设档案馆网站win7 iis网站设置
  • 邢台城乡规划局建设工程网站2345网址导航大全
  • com网站域名可以是汉字吗wordpress 图片展示 插件
  • 做衣服哪个网站好德州做网站dzqifan