go语言实现线程池

话说真的好久没有写博客了,最近赶新项目,工作太忙了。这一周任务比较少,又可以随便敲敲了。 逛论坛的时候突发奇想,想用go语言实现一个线程池,主要功能是:添加total个任务到线程池中,线程池开启number个线程,每个线程从任务队列中取出一个任务执行,执行完成后取下一个任务,全部执行完成后回调一个函数。 不知道有没有卵用,但是我尝试用它开启3个线程,下载10个文件,效果还是不错的。第一次写这方面的东西,可能写得不好。 思路就是把任务放到channel里,每个线程不停的从channel中取出任务执...阅读全文

2015-07-22 15:32 wolfred7464
阅读:13654 评论:0

Golang百万级高并发实例

前言 感谢Handling 1 Million Requests per Minute with Go 这篇文章给予的巨大启发。 基础 我们使用Go语言,基本上是因为他原生支持的高并发:Goroutine 和 Channel;Go 的并发属于 CSP 并发模型的一种实现;CSP 并发模型的核心概念是:“不要通过共享内存来通信,而应该通过通信来共享内存”。 简单用法 我一开始学习Go语言的时候,遇到大访问量的时候,会先创建一个带缓冲的channel,然后起一个Go协程来逐个读取channel中的数...阅读全文

阅读:1095 评论:0