2017年4月

为了便于简化日志,上一个小一些的数字
[code]
private final static ThreadPoolExecutor threadPool = new ThreadPoolExecutor(1, 3, 60L, TimeUnit.SECONDS, //
new ArrayBlockingQueue(5), //
new TestThreadFactory(), //
new TestRejectedHandler());
[/code]
核心线程数是1,最大线程数是3。

按自然的理解方式,线程的规则应该是:在不超总线程数的基础上,尽最大可能让队列空。
也就是说:有三个需要同时处理的任务时,应该启用三个线程。

- 阅读剩余部分 -

从Java转Go的童鞋,会对一些Go的特性有误用,比如下面这个
[code]
type User struct {
userId int64
userName string
}

func main() {
userA := User{
userId: 123321,
userName: "A",
}
userB := userA
userB.userName = "B"

fmt.Println("A:", userA.userName, " B:", userB.userName)
}
[/code]

- 阅读剩余部分 -