在下面的伪代码中,我有一个poll()
在主线程中被永久调用的函数。当我在没有sleep()
语句的情况下执行此操作时poll()
,其他线程每分钟仅将 2-3 个项目添加到队列中。这是否意味着轮询会阻止该put()
语句?
我怎么解决这个问题?
public class Test extends Thread{
private LinkedBlockingQueue<Object> queue = null;
Test(){
queue = new LinkedBlockingQueue<Object>(10);
}
public void run(){
// Do stuff, get incoming object from network
queue.put(o);
}
public Object poll(){
Object o = queue.poll();
sleep(1000);
return o;
}
}