【发布时间】:2011-02-06 07:25:43
【问题描述】:
据我所知,wait() 和 notify() 已经被更好的并发机制所取代。那么,你会选择什么更好的替代方案,比如实现a synchronized queue?
它们究竟在什么意义上“更好”?
编辑:这个(“实现同步队列”)是一个面试问题。可接受的答案不能使用 BlockingQueue 或其他队列实现。但是,它可能会使用其他同步构造,例如 CountDownLatch。我没有详尽的允许和禁止课程列表 - 用你的头脑。
【问题讨论】:
-
我不会实现同步队列。我会使用 BlockingQueue 的众多实现之一:download.oracle.com/javase/6/docs/api/java/util/concurrent/…
-
@Mike - 我正在准备面试。在现实生活中,我会使用现有的东西而不是重新发明。
-
那我恐怕不明白这个问题。同步块和等待/通知已被 java.util.concurrent 包中的类形式的高级抽象取代,而不是新的语言结构。如果问题的目的是利用一些 java.util.concurrent 类,我们排除了哪些类?
-
@Mike - 我没有详尽的允许和禁止类列表,但很明显 BlockingQueue 在禁止列表中。
标签: java multithreading concurrency