golang并发编程之Ticker
golang并发编程之Ticker
Timer只执行一次,Ticker可以周期的执行
icker是一个定时触发的计时器
它会以一个间隔(interval)往channel发送一个事件(当前时间)
而channel的接收者可以以固定的时间间隔从channel中读取事件
package mainimport ("fmt""time"
)func main() {// 创建定时器,每隔1秒后,定时器就会给channel发送一个事件(当前时间)ticker := time.NewTicker(time.Second * 1)counter := 1for range ticker.C {fmt.Printf("counter: %v\n", counter)counter++if counter >= 5 {break}}ticker.Stop()
}
运行结果
在协程里面通过ticker写入管道数据,在main读管道数据
package mainimport ("fmt""time"
)func main() {ticker := time.NewTicker(time.Second)chanInt := make(chan int)go func() {for range ticker.C {select {case chanInt <- 1:// fmt.Println("send ---> 1")case chanInt <- 2:// fmt.Println("send ---> 2")case chanInt <- 3:// fmt.Println("send ---> 3")}}}()sum := 0for v := range chanInt {fmt.Printf("receive <--- v: %v\n", v)sum += vif sum >= 10 {fmt.Printf("sum: %v\n", sum)break}}
}
运行结果
golang并发编程之Ticker相关推荐
- Golang 并发编程之Context
Context 是 Golang 中非常有趣的设计,它与 Go 语言中的并发编程有着比较密切的关系,在其他语言中我们很难见到类似 Context 的东西,它不仅能够用来设置截止日期.同步『信号』还能用 ...
- Go语言自学系列 | golang并发编程之runtime包
视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...
- cyclicbarrier java_Java并发编程之CyclicBarrier和线程池的使用
原标题:Java并发编程之CyclicBarrier和线程池的使用 下面我们来讲述一下线程池和CyclicBarrier的使用和对比. 一.场景描述 有四个游戏玩爱好者玩游戏,游戏中有三个关卡,每一个 ...
- java线程安全的set_Java并发编程之set集合的线程安全类你知道吗
Java并发编程之-set集合的线程安全类 Java中set集合怎么保证线程安全,这种方式你知道吗? 在Java中set集合是 本篇是<凯哥(凯哥并发编程学习>系列之<并发集合系列& ...
- zbb20180929 thread java并发编程之Condition
java并发编程之Condition 引言 在java中,对于任意一个java对象,它都拥有一组定义在java.lang.Object上监视器方法,包括wait(),wait(long timeout ...
- python电路模型编程_14、python开发之路-并发编程之I/O模型
十四.并发编程之I/O模型 http://www.cnblogs.com/linhaifeng/articles/7454717.html 1.模型介绍 1.1 IO种类 (1)* blocking ...
- java并发编程之4——Java锁分解锁分段技术
转载自 java并发编程之4--Java锁分解锁分段技术 并发编程的所有问题,最后都转换成了,"有状态bean"的状态的同步与互斥修改问题.而最后提出的解决"有状态bea ...
- java 时间戳_Java并发编程之CAS三CAS的缺点 及解决办法
Java并发编程之CAS第三篇-CAS的缺点 通过前两篇的文章介绍,我们知道了CAS是什么以及查看源码了解CAS原理.那么在多线程并发环境中,的缺点是什么呢?这篇文章我们就来讨论讨论 本篇是<凯 ...
- 并发编程之CPU缓存架构缓存一致性协议详解(二)
并发编程之CPU缓存架构&缓存一致性协议详解 CPU高速缓存(Cache Memory) CPU高速缓存 在CPU访问存储设备时,无论是存取数据抑或存取指令,都趋于聚集在一片连续的区域中,这就 ...
最新文章
- Verilog中`define和parameter有什么区别
- c#_textbox显示刷新规定行数的数据
- 图像处理与计算机视觉资源汇总——论文+代码+教材+视频等等
- 第十届蓝桥杯 等差数列(Python)
- C#_解决在控制台中输入Ctrl+Z的问题
- 线性表:5.约瑟夫环,循环链表及其C语言实现
- Linux C socket 编程之TCP
- 自旋锁--Test and Set Clock机制分析
- java jre 7_jre1.7官方下载|
- PMP-36项目风险管理
- 机顶盒ttl无法输入_请教大神,机顶盒接TTL进不了uboot模式
- C#文件和文件文件夹排序
- 我的脚本-一键禁用启用笔记本自带键盘
- 企业网站建设常用CMS建站系统推荐
- 初学docker理解二
- 程序员必备的6个辅助开发的软件神器
- 物联卡一直显示待激活怎么办_物联卡开始要求活体认证,这种纯流量卡你以后还管乱使用吗?...
- DC-DC,看这篇文章就够了
- 87_类成员的继承和重写
- 虚幻引擎(10)-切换控制权
热门文章
- MacBook安裝系統報錯
- 电脑计算机怎么没有桌面显示器,如果您听不懂,请问为什么计算机显示器没有OLED屏幕?...
- 计算机硬件知识硬盘,DIY硬件知识:小白必看的硬盘基础知识大全
- c++对8位灰度图进行二值化处理
- 《SolidWorks 2014中文版机械设计从入门到精通》——1.9 范例
- php predis连接超时,如何解决redis连接超时问题
- 联想Y50耳机插入耳机孔后没有声音解决办法
- 病案编码员需要计算机的什么知识,病案编码员要怎么学习?
- 微信朋友圈怎么发文字?纯文字动态发布教程
- 美团智能支付背后的前端工程师