public class MainActivity extends Activity {
private Object object;
private final int TIME = 50;// 备注1 @Override
public void onCreate(Bundle savedInstanceState) { //相当于构造方法,在类实例化后就会调用 object = new Object();
} @Override
public boolean onTouchEvent(MotionEvent event) {//一个监听时间屏幕时间的回调方法(按下,移动,抬起)
//屏幕按下的处理代码
operate();
synchronized (object) {
try {
object.wait(TIME); //wait的作用
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return true;
}
}如何解决死锁,object = new Object();修改成object = this什么情况下会出现死锁问题
我所了解的wait总是和notify配对使用的, 我觉得呢wait后应该notify
希望对你有用。
try {
object.wait(TIME); //wait的作用
object.notify();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
给点自己的理解吧.
这个大概是为了给响应屏幕事件加一个延迟响应.
比如一些游戏,你的手需要一直触摸屏幕,如果一直对手的触摸事件给予即时响应的话消耗太大,并且会影响其它线程的执行.这里应该就是给触摸事件一个50毫秒的响应间隔了.还有就是没必要加notify(),因为如果是wait(time)这样使用,并且time不为0的话,wait会在时间到了自动解除的.