在java中,如何停止信号量中的特定thead?
我已经用信号量实现了生产者和消费者问题。 我需要一种方式,当没有消费的产品,当前线程等待,直到 生产者生产一种产品。 请指导我。请检查,它已经支持此行为 代码取自上面链接的JavaDoc,例如:在java中,如何停止信号量中的特定thead?,java,semaphore,producer-consumer,Java,Semaphore,Producer Consumer,我已经用信号量实现了生产者和消费者问题。 我需要一种方式,当没有消费的产品,当前线程等待,直到 生产者生产一种产品。 请指导我。请检查,它已经支持此行为 代码取自上面链接的JavaDoc,例如: class Producer implements Runnable { private final BlockingQueue queue; Producer(BlockingQueue q) { queue = q; } public void run() {
class Producer implements Runnable {
private final BlockingQueue queue;
Producer(BlockingQueue q) { queue = q; }
public void run() {
try {
while (true) { queue.put(produce()); }
} catch (InterruptedException ex) { ... handle ...}
}
Object produce() { ... }
}
class Consumer implements Runnable {
private final BlockingQueue queue;
Consumer(BlockingQueue q) { queue = q; }
public void run() {
try {
while (true) { consume(queue.take()); }
} catch (InterruptedException ex) { ... handle ...}
}
void consume(Object x) { ... }
}
class Setup {
void main() {
BlockingQueue q = new SomeQueueImplementation();
Producer p = new Producer(q);
Consumer c1 = new Consumer(q);
Consumer c2 = new Consumer(q);
new Thread(p).start();
new Thread(c1).start();
new Thread(c2).start();
}
}
你现在的代码是什么?没有代码,没有帮助。。。