我在单独的线程上对任务进行了简单的处理。
class MyHandlerThread extends Thread {
Handler mHandler;
public void run() {
Looper.prepare();
mHandler = new Handler();
Looper.loop();
}
}
我如何确定循环器当前是否正忙于处理消息,或者它的消息队列是空的并且正在等待消息?我想从另一个线程来做。
基本上,我想知道处理程序何时完成我刚刚提交的任务。
最佳答案
可以使用synchronized方法判断线程是否忙
示例:
public class MsLunch {
private long c1 = 0;
private long c2 = 0;
private Object lock1 = new Object();
private Object lock2 = new Object();
public void inc1() {
synchronized(lock1) {
c1++;
}
}
public void inc2() {
synchronized(lock2) {
c2++;
}
}
}
更多信息:http://docs.oracle.com/javase/tutorial/essential/concurrency/locksync.html
关于java - 如何确定 Java Android Looper 是否繁忙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34241282/