首页 > 代码库 > 在Android(Java)开发中如何实现类似C语言中的中断程序

在Android(Java)开发中如何实现类似C语言中的中断程序

在Android开发过程中,有时候会遇到这样的情况,在一个线程中,执行A操作,B操作需要等A操作结束后才进行,因此需要wait,在java中可以如下代码实现

Handler mBlueHandler = new Handler(Looper.getMainLooper());
            Task task = new Task();
            mBlueHandler.post(task);
            while (!task.finish) {
                synchronized (task) {
                    try {
                        task.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }

class Task implements Runnable {
        boolean finish = false;

        @Override
        public void run() {
           。。。。//具体执行的操作
            synchronized (Task.this) {
                finish = true;
                Task.this.notifyAll();
            }
        }
    }

Handler post出task,task中设一个标志位,当具体操作结束后,将标志位置为有效,然后通知Handler执行下面操作,否则一直等待