
go
u012903992
这个作者很懒,什么都没留下…
展开
-
golang定时任务详解
在程序中经常需要按照指定的周期(以毫秒计)来调用函数或计算表达式,也即实现定时任务,使用time包中Tick和Sleep可以轻松实现定时任务使用Tick每隔100毫秒打印“Hello TigerwolfC”for range time.Tick(time.Millisecond*100){ fmt.Println("Hello TigerwolfC") }每隔100毫秒打印 “Hello TigerwolfC”,也可以使用 time.Sleep()for{原创 2022-01-10 11:06:52 · 2337 阅读 · 0 评论 -
Go 缓冲信道和非缓冲信道
非缓冲信道是一个进一个出,再一个进再一个出,信道内是不保存数据的缓冲信道是可以很多个依次进去,存储在信道里,然后一个一个的按次序取出来。不过缓冲信道如果超过了预期的存入个数,会发生信道阻塞,只有把存入的不超出才能继续。就像肚子能吃5碗饭,你吃第六碗就吃不进去了,只有拉了之后才有可能继续吃进去。哈哈...转载 2018-11-01 11:55:59 · 484 阅读 · 0 评论 -
实现一个go语言的简单爬虫来爬取优快云博文(一)
前言如何实现一个爬虫系统或则简单的小脚本?一般是定义一个入口页面,然后一个页面会有其他页面的URL,于是从当前页面获取到这些URL加入到爬虫的抓取队列中,然后进入到新页面后再递归的进行上述的操作,其实说来就跟深度遍历或广度遍历一样。 golang由于其编译速度很快,而且对并发(goroutine)的天然支持,配合chan的协程处理,可以很好地实现一个稳定高效的爬虫系统.用到的包完全不...原创 2018-11-03 16:15:30 · 839 阅读 · 0 评论 -
游戏服务器框架:Leaf/go
Leaf 是一个使用 Go 语言开发的开源游戏服务器框架,注重运行效率并追求极致的开发效率。Leaf 适用于几乎所有的游戏类型。其主要的特性: 良好的使用体验。Leaf 总是尽可能的提供简洁和易用的接口,尽可能的提升开发的效率 稳定性。Leaf 总是尽可能的恢复运行过程中的错误,避免崩溃 多核支持。Leaf 通过模块机制和 leaf/go 尽可能的利用多核资源,同时又尽量...转载 2018-11-09 16:41:03 · 2217 阅读 · 0 评论 -
关于go并发的一些笔记(不定期更新)
关于协程中使用的非缓冲信道1、必须先存相应的数据,没有数据,则取数据时该routine会被挂起(就是后面的代码不会被执行了),直到有其它routine来取走该数据,否则就一直挂起。2、存数据的时候(比如ch->0),则是可以正常执行该代码的,直到下次来再次数据的时候(比如ch->1),发现信道中有数据未被取走,则该routine会被挂起,直到上一次那个0的数据被取走的时候,该rou...原创 2018-11-02 14:36:14 · 260 阅读 · 0 评论