protected static Object lock;
public void awake(){
synchronized (lock){
if(Thread.currentThread().isAlive()){
Thread.currentThread().notify();
}
}
}
我在同步块中使用此代码,以便我的main方法有一个线程监视器,并且没有收到IllegalMonitorStateException。
我不明白为什么这会给我一个nullpointer异常。线程必须处于活动状态才能执行thread.notify命令,并且锁是一个静态对象。什么都不能为空。有什么想法吗?
答案 0 :(得分:0)
仅仅因为它是静态的并不意味着它永远不会是空的。您需要protected static Object lock = new Object();