粗略理解一下,其实不能算完全原创,是根据一个大哥的博客代码的一点理解。
http://www.cnblogs.com/armyao/archive/2010/12/27/1917989.html
这个是大哥的原帖,代码不重复引用,只介绍关键部分。
这句话我觉得大哥说的不太好,首先,决定notify和notifyall的不是这个5秒产生一个,即使不是5秒产生一个,理论上也有出问题的可能吧。原因下面说明
原因就在这个if
return写在 if外面后面,wait的时候,就等着remove了,那还不出错啊。
想用notifyall可以的,只要把if改成while就行了。