golang
codyi
这个作者很懒,什么都没留下…
展开
-
go 服务器出现too many open files的错误
最近两天服务器总是会出现too many open files的错误。真的很是头疼。在本地开发环境中,也用了压力测试,发现问题不存在。但是为什么服务器会出现这种错误,有些闹不明白。本来想用ulimit更改一下打开文件的描述符。但这样子觉得并不解决问题。好吧,那就查一下更本的原因。服务器是亚马逊,开发语言:golang,数据库:mongo,mysql。缓存:redis。测试脚原创 2014-01-15 07:42:54 · 7250 阅读 · 2 评论 -
golang sync WaitGroup
刚才看golang的sync的包,看见一个很有用的功能。就是WaitGroup。先说说WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。WaitGroup总共有三个方法:Add(delta int),Done(),Wait()。简单的说一下这三个方法的作用。Add:添加或者减少等待gorou原创 2014-05-06 20:18:48 · 1517 阅读 · 0 评论 -
golang sync mutex 互斥锁
golang的多线程固然好用,但是有时候需要对数据进行上锁,防止数据被其它线程更改。那么sync包下的Mutex非常好用。Mutex是一个互斥锁。可以作为struct的一部分,这样这个struct就会防止被多线程更改数据。来个例子:package mainimport ( "fmt" "sync" "time")type User struct { Nam原创 2014-05-07 13:44:33 · 8201 阅读 · 1 评论
分享