返回信息流网上搜了一些,感觉总结的不是特别全面,不太好
这是一条镜像帖。来源:北邮人论坛 / java / #51326同步于 2016/7/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
java线程间通信有哪些方式?
nijian81
2016/7/1镜像同步30 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
初学者请用LinkedBlockingDeque;进阶者如果有充分的理由认为LinkedBlockingDeque不合适,请用Lock和Condition;高手如果有充分的理由认为Lock和Condition性能不好,请用volatile和AtomicInteger。
【 在 nuanyangyang 的大作中提到: 】
: 初学者请用LinkedBlockingDeque;进阶者如果有充分的理由认为LinkedBlockingDeque不合适,请用Lock和Condition;高手如果有充分的理由认为Lock和Condition性能不好,请用volatile和AtomicInteger。
用wait和notify可以吗?
【 在 nijian81 的大作中提到: 】
: 用wait和notify可以吗?
wait和notify和condition是一样的。其实synchronized+wait和notify是java 1.5以前的老式做法。
新的API里,Lock可以产生多个Condition。Condition有await方法(相当于wait),和signal方法(相当于notify)。
旧的API里,相当于每个对象里都有一个lock和一个Condition,当然,并不是每个对象都需要锁,强行给每个对象加一个锁是会增加代价的。而且一个Condition有时候不够用。
【 在 nuanyangyang 的大作中提到: 】
:
: wait和notify和condition是一样的。其实synchronized+wait和notify是java 1.5以前的老式做法。
: 新的API里,Lock可以产生多个Condition。Condition有await方法(相当于wait),和signal方法(相当于notify)。
: ...................
看书学习去了[ema1][ema1]
wait notify notifyAll await signal 共享内存 CountDownLatch CyclicBarrier Semaphore ...