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什么情况下会出现死锁问题

解决方案 »

  1.   

    object.wait(TIME); 
    我所了解的wait总是和notify配对使用的, 我觉得呢wait后应该notify
    希望对你有用。          
      

  2.   

    试试这个不行吗?        synchronized (object) {
                try {
                    object.wait(TIME);            //wait的作用
                       object.notify();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
      

  3.   

    你这是在学android啊,我也是android初学,不太明白.
    给点自己的理解吧.
    这个大概是为了给响应屏幕事件加一个延迟响应.
    比如一些游戏,你的手需要一直触摸屏幕,如果一直对手的触摸事件给予即时响应的话消耗太大,并且会影响其它线程的执行.这里应该就是给触摸事件一个50毫秒的响应间隔了.还有就是没必要加notify(),因为如果是wait(time)这样使用,并且time不为0的话,wait会在时间到了自动解除的.