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); } } } } }
相关文章推荐
- Android Handler和ProgressBar实现进度条的开始,暂停,停止,后退和循环
- android开发——分秒计时器(可 开始/暂停/继续/停止)
- android Handler和Thread实现定时器开始计时和停止计时
- Java/Android倒计时(开始,暂停,恢复,停止)
- Android 停止AsyncTask和Thread
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
- Unity3D 使用备忘(三) 实现相机自动漫游开始、暂停、停止及相机角度切换。
- 13-7-12 android如何通过单击开始线程和停止线程
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
- android如何停止Thread和AsyncTask
- 安卓动画开始,暂停和停止
- Android怎样停止AsyncTask和Thread
- Handler和ProgressBar实现进度条的开始,暂停,停止,后退和循环
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
- android暂停或停止其他音乐播放器的播放
- Android编程实现开始及停止service的方法
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
- android暂停或停止其他音乐播放器的播放
- Android使用Thread的interrupt与sleep,重启或暂停线程任务
- 停止服务时报异常!ERROR/ActivityThread(358): Service com.wd.AndroidDaemon.WandouService has leaked IntentRece