re: 有条件的同步方法 GHawk 2006-10-10 10:10
@stoneshao
util.concurrent 的确有一个backport可以在1.4jvm上使用
http://dcl.mathcs.emory.edu/util/backport-util-concurrent
自己实现多线程的东西还是比较容易出现问题的,debug和性能分析都可能花费大量的时间,个人感觉还是用现有的库更容易一些。
re: 有条件的同步方法 Alex 2006-10-09 22:36
上面的所有方法都是同步的,什么时候不同步,代码里体现了么?
synchronized (getLock(id)) {
15 // TODO
16 }
是同步的,它调用的getLock(id)里面也都是同步的,除非在方法
synchronized (locks) {}的外面再加一个其他条件的代码才能算是吧?
还是你省略了这些代码?
re: 有条件的同步方法 stoneshao 2006-10-09 19:42
但是有一个专门做线程同步的包:concurrent.jar,没有仔细研究它的实现,应该有类似的实现
re: 有条件的同步方法 stoneshao 2006-10-09 19:41
呵呵,有意思,毕竟现在的应用服务器都是在jdk1.4下,不能用tiger
re: 有条件的同步方法 Xueping Yang 2006-10-09 17:54
@GHawk
对于我的这个需求来说,上面的代码可能已经是最简单的呢,要是用concurrent的话必须要tiger啦。
re: 有条件的同步方法 GHawk 2006-10-09 16:28
Java 5开始内置的java.util.concurrent.locks包里面有pthread-like的Lock和Condition,很方便。