您的位置:首页 > 移动开发 > Android开发

android Thread 停止 开始 暂停

2013-06-15 16:26 399 查看
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);
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: