如何创建一个按钮暂停线程,这是在循环和另一个按钮简历。
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()
和其他方法