【发布时间】:2014-04-26 10:24:53
【问题描述】:
我有一个实现 Runnable 接口的类:类似于:
public class MyClass implements Runnable{
public MyClass(){
//I have a queue object
mQueue = new LinkedList<MyObject>();
}
public void addToQueue(MyObject onj){
mQueue.add(obj);
}
@Override
public void run(){
while(true)
{
//Do some stuff(dequeue and write to file)
Thread.sleep(500);
}
}
}
}
所以这个 runnabale 课程将在另一个课程中开始。添加到此队列(也已启动 Runnable)的类将始终添加到队列中。
我想知道while循环什么时候调用sleep,方法addToQueue还能用吗?我的意思是当这个线程处于睡眠状态时,启动这个线程的类可以添加到队列中......所以基本上run()方法会阻塞类中的其他方法?
【问题讨论】:
标签: java thread-safety queue runnable