Go语言实现定时器的方法
本文实例讲述了Go语言实现定时器的方法。分享给大家供大家参考。具体实现方法如下:
package main
import (
"fmt"
"time"
)
func testTimer1() {
go func() {
fmt.Println("test timer1")
}()
}
func testTimer2() {
go func() {
fmt.Println("test timer2")
}()
}
func timer1() {
timer1 := time.NewTicker(1 * time.Second)
for {
select {
case <-timer1.C:
testTimer1()
}
}
}
func timer2() {
timer2 := time.NewTicker(2 * time.Second)
for {
select {
case <-timer2.C:
testTimer2()
}
}
}
func main() {
go timer1()
timer2()
}
希望本文所述对大家的Go语言程序设计有所帮助。
相关推荐
-
GO语言延迟函数defer用法分析
本文实例讲述了GO语言延迟函数defer用法.分享给大家供大家参考.具体分析如下: defer 在声明时不会立即执行,而是在函数 return 后,再按照 FILO (先进后出)的原则依次执行每一个 defer,一般用于异常处理.释放资源.清理数据.记录日志等.这有点像面向对象语言的析构函数,优雅又简洁,是 Golang 的亮点之一. 代码1:了解 defer 的执行顺序 复制代码 代码如下: package main import "fmt" func fn(n int) int {
-
go语言通过odbc访问Sql Server数据库的方法
本文实例讲述了go语言通过odbc访问Sql Server数据库的方法.分享给大家供大家参考.具体如下: 这里需要用到go-odbc库,开源地址为:https://github.com/weigj/go-odbc 复制代码 代码如下: package main; import ( "fmt" "database/sql" _"odbc/driver" ) func main(){ conn,err := sql.O
-
go语言检测文件是否存在的方法
本文实例讲述了go语言检测文件是否存在的方法.分享给大家供大家参考.具体分析如下: go语言检测文件是否存在,首先创建一个FileInfo,如果不报错,再通过 IsDir()检查是否是目录 复制代码 代码如下: finfo, err := os.Stat("filename.txt") if err != nil { // no such file or dir return } if finfo.IsDir() { // it's a file } else
-
go语言睡眠排序算法实例分析
本文实例讲述了go语言睡眠排序算法.分享给大家供大家参考.具体分析如下: 睡眠排序算法是一个天才程序员发明的,想法很简单,就是针对数组里的不同的数开多个线程,每个线程根据数的大小睡眠,自然睡的时间越长的,数越大,哈哈,搞笑吧,这种算法看起来很荒唐,但实际上很天才,它可以充分利用多核cpu进行计算. 复制代码 代码如下: package main import ( "fmt" "time" ) func main() { tab := []in
-
go语言通过反射获取和设置结构体字段值的方法
本文实例讲述了go语言通过反射获取和设置结构体字段值的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: type MyStruct struct { N int } n := MyStruct{ 1 } // get immutable := reflect.ValueOf(n) val := immutable.FieldByName("N").Int() fmt.Printf("N=%d\n", val) // prints
-
go语言执行windows下命令行的方法
本文实例讲述了go语言执行windows下命令行的方法.分享给大家供大家参考.具体如下: 在golang里执行windows下的命令行,例如在golang里面调用 del d:\a.txt 命令 复制代码 代码如下: package main import( "fmt" "os/exec" ) func main(){ c := exec.Command("cmd", "/C", "del
-
go语言中使用timer的常用方式
本文实例总结了go语言中使用timer的常用方式.分享给大家供大家参考.具体分析如下: 下面三段代码(A,b,C)的功能都是在5分钟后执行指定的函数的go语言代码: 复制代码 代码如下: // (A) time.AfterFunc(5 * time.Minute, func() { fmt.Printf("expired") } // (B) create a Timer object timer := time.NewTimer(5 * time.Minute) <-t
-
Go语言实现定时器的方法
本文实例讲述了Go语言实现定时器的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "time" ) func testTimer1() { go func() { fmt.Println("test timer1") }() } func testTimer2() { go func() { fmt.Println("test timer2&
-
Go语言中定时器cron的基本使用教程
cron是什么 cron的意思就是:计划任务,说白了就是定时任务.我和系统约个时间,你在几点几分几秒或者每隔几分钟跑一个任务(job),就那么简单. 前言 cron 是 robfig 开发的一个定时作业库,robfig 总是想的比别人早,给了我们这些 Gopher 不少急需的东西,想当年 revel 的出现也是这样的.看看 cron 的使用,还是一如既往的简洁明了,发现 Go 的世界里,有些产品还是有鲜明的个人特质的,那就是所谓的个人魅力吧?! 总之 robfig 开发的产品都是有一定超前性,比
-
Go语言实现定时器的原理及使用详解
目录 0. 前言 1. Timer定时器 1.1 time.NewTimer() 和 time.After() 1.2 time.AfterFunc 2. Ticker定时器 0. 前言 在进行并发编程时,有时候会需要定时功能,比如监控某个GO程是否会运行过长时间.定时打印日志等等. GO标准库中的定时器主要有两种,一种为Timer定时器,一种为Ticker定时器.Timer计时器使用一次后,就失效了,需要Reset()才能再次生效.而Ticker计时器会一直生效,接下来分别对两种进行介绍. 1
-
Go语言常用字符串处理方法实例汇总
本文实例汇总了Go语言常用字符串处理方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: package main import ( "fmt" "strings" //"unicode/utf8" ) func main() { fmt.Println("查找子串是否在指定的字符串中") fmt.Println(" Contains 函数的用法")
-
go语言使用scp的方法实例分析
本文实例讲述了go语言使用scp的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: package main import ( "code.google.com/p/go.crypto/ssh" "crypto" "crypto/rsa" "crypto/x509" "encoding/pem" "fmt" "
-
Go语言文件操作的方法
本文实例讲述了Go语言文件操作的方法.分享给大家供大家参考.具体如下: 关闭文件: 复制代码 代码如下: func (file *File) Close() os.Error { if file == nil { return os.EINVAL } e := syscall.Close(file.fd) file.fd = -1 // so it can't be closed again if e != 0 { retu
-
CentOS 7下配置Ruby语言开发环境的方法教程
本文跟大家分享的是在CentOS 7下配置Ruby语言开发环境的方法教程,分享出来供大家参考学习,下面来看看详细的介绍: 安装Ruby 2.2 CentOS7存储库中的Ruby版本为2.0,但如果需要,可以使用RPM软件包安装2.2 1.添加CentOS SCLo软件集合存储库 [root@linuxprobe ~]# yum -y install centos-release-scl-rh centos-release-scl # set [priority=10] [root@linuxpr
-
Kotlin 语言中调用 JavaScript 方法实例详解
Kotlin 语言中调用 JavaScript 方法实例详解 Kotlin 已被设计为能够与 Java 平台轻松互操作.它将 Java 类视为 Kotlin 类,并且 Java 也将 Kotlin 类视为 Java 类.但是,JavaScript 是一种动态类型语言,这意味着它不会在编译期检查类型.你可以通过动态类型在 Kotlin 中自由地与 JavaScript 交流,但是如果你想要 Kotlin 类型系统的全部威力 ,你可以为 JavaScript 库创建 Kotlin 头文件. 内联 J
-
用Python编写简单的定时器的方法
下面介绍以threading模块来实现定时器的方法. 首先介绍一个最简单实现: import threading def say_sth(str): print str t = threading.Timer(2.0, say_sth,[str]) t.start() if __name__ == '__main__': timer = threading.Timer(2.0,say_sth,['i am here too.']) timer.start() 不清楚在某些特殊应用场景下有什么缺陷
-
Go语言Echo服务器的方法
本文实例讲述了Go语言Echo服务器的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: package main import ( "net" "io" ) func main() { serv, e := net.Listen("tcp", ":12345") if e != nil { panic(e) } defer serv.Close()
随机推荐
- C#实现窗体中的各个控件同比自动放缩大小
- 关于Vue.nextTick()的正确使用方法浅析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- VS2015 搭建Asp.net core开发环境的方法
- C# 生成验证码取随机数字加字母(改进版)
- JS保留两位小数 四舍五入函数的小例子
- asp.net中Post表单保存页面状态并输出源码的实现方法
- pjblog实现类似CMS的首页调用
- 解析activity之间数据传递方法的详解
- 两个备份数据库的shell脚本
- FCKeditor 和 SyntaxHighlighter 代码高亮插件的整合
- VBS如何察看或获得剪切板内容的脚本
- 基于JQuery实现分隔条的功能
- js实现点小图看大图效果的思路及示例代码
- C++ 实现静态单链表的实例
- C#递归题目实例代码
- 深入理解Python单元测试unittest的使用示例
- python爬虫获取淘宝天猫商品详细参数
- JavaScript实现单例模式实例分享
- Spring Boot实战之静态资源处理
