[英]Producer Consumer issue in Java
public class SomeAdaptor implements SomeListener {
public ConcurrentHashMap<String, Double> pendingRFQ;
@Override
public void run() {
pendingRFQ.put(response.getId(), price);
} //first run method
@Override
public void run() {
Double price = pendingRFQ.get(quoteEvent.getId());
if (price != null)
System.out.println("ORDER TO Market.....");
} //2nd run method
我遇到了線程問題。 當我嘗試在第二個run()
方法中提取價格時, pendingRFQ
映射不是最新的。 我可以在第二個run()
方法中執行哪些技術以確保存在我要查找的值? 還是我要等它進來?
用BlockingQueue
替換Map
,並在第二個線程中使用poll()
等待輸入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.