package com.example.thread;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
int r=0;
Button bt;
Button bt1;
Button bt2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt=(Button)findViewById(R.id.button1);
bt1=(Button)findViewById(R.id.button2);
bt2=(Button)findViewById(R.id.button3);
Thread1 t = new Thread1();
Thread c = new Control(t);
t.setSleep(true);
c.setDaemon(true);
t.start();
c.start();
bt.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
r=2;
}
});
bt1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
r=0;
}
});
bt2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
r=1;
}
});
}
class Thread1 extends Thread {
private boolean isSleep = true;
private boolean isStop = false;
public void run() {
while(!isStop) {
if(isSleep) {
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
System.out.println("Thread: "+Thread.currentThread().getName() + " 运行中.");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println("Thread: "+Thread.currentThread().getName() + " 结束.");
}
public void setSleep(boolean sleep) {
this.isSleep = sleep;
}
public void setStop(boolean stop) {
this.isStop = stop;
}
}
class Control extends Thread {
private Thread1 t;
public Control(Thread1 t) {
this.t = t;
}
public void run() {
while(true) {
if(r == 0) { //r=0运行
t.setSleep(false);
} else if(r == 1) { //r=1暂停
t.setSleep(true);
} else if(r == 2) { //r=2 停止
t.setStop(true);
}
}
}
}
}
android Thread 停止 开始 暂停
最新推荐文章于 2025-05-21 13:59:16 发布