c******n 发帖数: 4965 | 1 ,我记得以前 sun/oracle 网站上tutorial 讲这个问题时是用两个 conditional
variable ( which encapsulates their own locks). notify() wait() 来做的。
现在网站上的文档成了一个 信号, 这样 full 和 empty 时候所有的 producer 或
consumer 都会唤醒, 浪费。
用explicit. java.concurrent lock. and conditional variable 可以写出来, 但如
果用 primitive 怎么写呢? | c******n 发帖数: 4965 | 2 ok,..... 自己写了一下,那个路子的不是很有把握, 另外又照wiki 上的semaphore
version 写了,加基本version, 共三种
http://pastebin.com/uSYXpGKJ
欢迎大家讨论,找毛病
【在 c******n 的大作中提到】 : ,我记得以前 sun/oracle 网站上tutorial 讲这个问题时是用两个 conditional : variable ( which encapsulates their own locks). notify() wait() 来做的。 : 现在网站上的文档成了一个 信号, 这样 full 和 empty 时候所有的 producer 或 : consumer 都会唤醒, 浪费。 : 用explicit. java.concurrent lock. and conditional variable 可以写出来, 但如 : 果用 primitive 怎么写呢?
|
|