1. 程式人生 > >Android中端並重啟一個Thread執行緒的辦法

Android中端並重啟一個Thread執行緒的辦法

上一篇的試驗中,驗證了Java中斷並重啟一個Thread的辦法:http://blog.csdn.net/xzongyuan/article/details/39548113

這裡簡單的總結下(大概思路,沒除錯,可能會有錯!):

MyThread.java

pulbic class MyThread implemets Thread{

	@overide
	public void run{
		while(!Thread.interrputed()){
		}
	}
}

xxx.java

Thread mThread = new MyThread();


public static void startThread(){
   	mThread  = new MyThread();   
        mThread.start();
}

public void stopThread(){
 if(mThread!=null){
   mThread.interrupt();
   mThread = null;
 }
}

run函式裡面必須有判斷中斷狀態的while迴圈,外部在中斷Thread時,必須顯示呼叫interrupt()。注意:interrupte()函式只是設定中斷標誌,不是強制中斷,所以run中才需要不斷地檢測中斷標誌(Thread.interrupted()) java中,中斷Thread後,就不能直接重新start了,必須new一個新例項,不然會報錯。

相關推薦

Android並重一個Thread執行辦法

上一篇的試驗中,驗證了Java中斷並重啟一個Thread的辦法:http://blog.csdn.net/xzongyuan/article/details/39548113 這裡簡單的總結下(大概思路,沒除錯,可能會有錯!): MyThread.java pulbic

Android的多程序、多執行

前面幾篇總結了程序、執行緒相關的知識。這裡總結下關於Android中的多程序、多執行緒及其使用。 這裡總結的Android中的多程序、多執行緒也是一個基礎,可擴充套件的很多。   Android中多程序 常見的幾種使用 Runtime.getRuntime().exec("xxx") 這個方法,呼叫

qt 建立一個工作執行(例子)

當一個事件需要很長的處理時間,就建立一個工作執行緒,防止主介面卡死。 1.新建一個QT的gui專案,裡面包含main.cpp,mainwindow.h,mainwindow.cpp,mainwindow.ui檔案 2.新建一個頭檔案thread.h,派生一個執行緒類,重新寫一個執行緒的入口函式。

Android Thread執行池管理類

package com.yunduan.parking.manager; /** * author cowards * created on 2018\10\17 0017 **/ import java.util.concurrent.ArrayBlockingQueue; impo

java開啟一個執行

//實現方法pubRmRecordByRmPlanId @Override public OperateResult pubRmRecordByRmPlanId(Long rmPlanId,String taskBeginDate,UserInfo userInfo) { ...

Gunicorn+Flask啟動後臺執行問題

假設程式如下: 1 if __name__ == '__main__': 2 t = Thread(target=test) 3 t.start() 4 app.run(host='0.0.0.0',port=8080,debug=False)     gunicor

使用執行池和直接new 一個Thread執行對比

大家new Thread的方式會建立一個執行緒,在我們有大量的建立執行緒的時候這樣的方法還會可靠嗎?每一次new Thread都會重新建立一個執行緒,而執行緒的建立和銷燬都需要耗時的。在jdk1.5的concurrent包中有一個Executors,他能使我們建立的執行緒得

Android-Thread執行的狀態

介紹Thread執行緒的狀態之前,必須要講解CPU執行執行緒的隨機性:  例如:有五個執行緒,CPU中央處理器,在執行這五個執行緒的時候,有可能先執行Thread-0,有可能先執行Thread-3,等等,都有可能                                

利用QT的QThread將一個的成員函式轉到執行執行

#include "displaythread.h" #include "mainwindow.h" DisplayThread::DisplayThread(MainWindow *pWindow, QObject *parent) : QThread(pare

Android 開啟一個執行

package com.example.che; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.widget.Tex

一個執行顯示winform

最近研究dotmsn,其中需要在聯絡人加入會話時,在一個新的執行緒中顯示聊天視窗。開始時使用MyForm fm = new MyForm();Thread oThread = new Thread (new ThreadStart(fm.Show));oThread.Star

java給出一個執行如何捕獲子執行異常的例子

馬克-to-win:首先我們看主執行緒如何捕獲子執行緒的異常 例:1.5.4-本章原始碼 import java.lang.Thread.UncaughtExceptionHandler; class ThreadMark_to_win extends Thread { public void run() {

記錄一個基礎執行的建立

執行緒池負責管理工作執行緒,包含一個等待執行的任務佇列。執行緒池的任務佇列是一個Runnable集合,工作執行緒負責從任務佇列中取出並執行Runnable物件。下面是一個簡單示例: 首先建立一個Runable 類: public class ThreadPoolTest extends

執行的佇列不一定需要執行安全

兩個執行緒,主執行緒中update update(){   while(queue.count >0){     //process....     queue.pop()   } }   子執行緒中: queue.enqueue(data)   這樣做是沒有問

一個非同步執行的簡單實現

// 這裡用一個執行緒就是非同步 new Thread(new Runnable() { @Override public void run() { int i =

Android核心技術-day05-04-JavaSE多執行下載

package com.gaozewen.lib; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import ja

Java建立一個執行的三種方式

步驟一:執行緒概念 首先要理解程序(Processor)和執行緒(Thread)的區別 程序:啟動一個LOL.exe就叫一個程序。 接著又啟動一個DOTA.exe,這叫兩個程序。 執行緒:執行緒是在程序內部同時做的事情,比如在LOL裡,有很多事情要同時做,比如"蓋倫” 擊殺“

Python之——Python的多程序和多執行

轉載請註明出處:https://blog.csdn.net/l1028386804/article/details/83042246 一、多程序 Python實現對程序的方式主要有兩種,一種方法是使用os模組中的fork方法,另一種方法是使用multiprocessing模組。區別在於:

作業系統,核心定時器:使用“訊號”建立一種使用者空間機制來測量一個執行程式的執行時間。

      核心是一個作業系統的核心。它負責管理系統的程序、記憶體、裝置驅動程式、檔案和網路系統,決定著系統的效能和穩定性。 定時器是Linux提供的一種定時服務的機制,它在某個特定的時間喚醒某個程序來進行工作。核心在時鐘中斷髮生後檢測各定時器是否到期,在li

Java編寫的一個執行下載器

這裡只是演示這個下載器如何使用以及介面 1.可以百度TIM:找到下載介面,複製下載地址: 2.貼上到下載器介面如下圖:(注意儲存地址一定是存在的) 3.點選開始下載:(如果想要暫停或者繼續可以先選中下載行,點選暫停或者繼續)