2
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

我有一些线程问题。当pendingRFQ我尝试以第二种方法提取价格时,地图不是最新的run()。我可以在第二种方法中执行哪些技术run()来确保我正在查找的值存在?或者我怎样才能让它等到它进来?

4

1 回答 1

6

将 替换为MapaBlockingQueuepoll()在第二个线程中使用以等待输入。

于 2013-10-17T14:35:40.870 回答