自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 GO中的sync.waitgroup的用法

sync.waitgroup的基本用法waitgroup类似于C中的信号灯,也可以理解成队列,基本的操作包括 add(int) 增加信号的值,add的参数应该都为正数 done() 减少信号的值,相当于add(-1) wait() 等待信号值为0,等待期间会一直阻塞waitgroup与channel产生的死锁当同时使用了waitgroup和channel的话,要特别注意waitgroup

2016-12-09 12:20:17 1839

原创 GO中chan的理解

chan的分类分为带缓存和不带缓存这2类,尤其需要关注带缓存的用法,防止掉坑里。不带缓存 make(chan 数据类型)带缓存 make(chan 数据类型,长度)例如定义一个带缓存的chan: ch := make(chan int,2) 这里我们定义个缓存长度为2的chan,当我们已经往chan中写入了2个数据,当再次写入第三个数据的时候就会发送阻塞,直到其他人从该chan中读取了数

2016-12-09 10:47:18 6525

原创 chan的理解

chan分为带缓存和不带缓存这2类,尤其需要关注带缓存的用法,防止掉坑里。1.带缓存的定义方法为: make(chan 数据类型,缓存长度)。例如定义一个带缓存的chan: ch := make(chan int,2)这里我们定义个缓存长度为2的chan,当我们已经往chan中写入了2个数据,当再次写入第三个数据的时候就会发送阻塞,直到其他人从该chan中读取了数据,那么才可以

2016-12-09 10:21:09 1385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除