与线程android同步的按钮



如何创建一个按钮暂停线程,这是在循环和另一个按钮简历。

Runnable myRun = new Runnable(){

public void run(){

   for(int j =0 ;j<=words.length;j++){
       synchronized(this){
           try {
                wait(sleepTime);
                bt.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View arg0) {
                                try {
                                    wait();
                                } catch (InterruptedException e) {
                                    e.printStackTrace();
                                }
                    }});
                bt2.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View arg0) {
                        notify();
                    }
                });
                } catch (InterruptedException e) {
                e.printStackTrace();
            } }
       runOnUiThread(new Runnable(){
           public void run(){
               try {
                    et.setText(words[i]);
                    i++;
                } catch (Exception e) {
                    e.printStackTrace();
                }
           }});
      }}};

做一些事情说的话。长度=
1000倍然后假设用户想在
之间休息一下单击id =暂停按钮,此按钮暂停线程,直到用户点击id= bt1的resume

下面是一个提示,我认为你可以使用你的问题。它是从我粘贴在末尾的链接复制过来的

等待进程可以被另一个进程调用监视器上的notify来"唤醒",而睡眠进程则不能。此外,等待(和通知)必须发生在监视器对象上同步的块中,而sleep则不需要:

Object mon = ...;
synchronized (mon) {
    mon.wait();
}
此时,当前正在执行的线程等待并释放监视器。另一个线程可以执行

synchronized (mon) {mon.notify();}(在同一个mon对象上),第一个线程(假设它是监视器上唯一等待的线程)将被唤醒。

检查wait()和sleep()的差异

你可以这样做:

如何无限期地暂停一个线程在Java和以后恢复它?

只能从按钮的OnClickListener s中调用suspend()和其他方法

相关内容

  • 没有找到相关文章

最新更新