生产者Java中的消费者问题

M06*_*06H 2 java multithreading asynchronous

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 Code Online (Sandbox Code Playgroud)

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

Aar*_*lla 6

替换为Mapa BlockingQueuepoll()在第二个线程中使用以等待输入.