我正在创建一个应用程序,其中有多个阶段 – 每个阶段都会在Amazon Simple Work Flow(SWF)中将消息发送到我的队列…应用程序应为每个收到的消息启动一个新线程.
如何实现等待部分 – 以便应用程序不断扫描队列中的新消息并在收到消息时采取措施?
最佳答案
你问的是一个生产者 – 消费者模型
你可以读到它here
你可以读到它here
基本理念:网站是生产者,您作为客户是消费者.
你等待()直到听众收到一条消息然后notifAll()
class WaitForAmazon{
private boolean available = false;
private int contents;
public synchronized int consumer() {
while (available == false) {
try {
wait();
} catch (InterruptedException e) { }
}
available = false;
notifyAll();
return contents;
}
public synchronized void producer(int value) {
while (available == true) {
try {
wait();
} catch (InterruptedException e) { }
}
contents = value;
available = true;
notifyAll();
}
}