摘要: 合理利用线程池能够带来三个好处。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 第三:提高线程的可管理性。 线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池 阅读全文
posted @ 2017-10-05 21:27 星火燎原智勇 阅读(431) 评论(0) 推荐(1) 编辑
摘要: 真实的应用场景是:在测试收包的顺序的时候,加了个 tick 就发现丢包了 那么来看一个应用例子: 输出结果如下: 问题出在这个select里面: [tick.C 介绍说明] 当两个 case 条件都满足的时候,运行时系统会通过一个伪随机的算法决定哪个case将会被执行。所以当 tick.C 条件满足 阅读全文
posted @ 2017-10-05 21:05 星火燎原智勇 阅读(975) 评论(0) 推荐(0) 编辑
摘要: golang 中的 sync 包有一个很有用的功能,就是 WaitGroup 先说说 WaitGroup 的用途:它能够一直等到所有的 goroutine 执行完成,并且阻塞主线程的执行,直到所有的 goroutine 执行完成。 WaitGroup 总共有三个方法:Add(delta int), 阅读全文
posted @ 2017-10-05 20:27 星火燎原智勇 阅读(1136) 评论(0) 推荐(0) 编辑