導航:首頁 > 使用方法 > thread常用方法

thread常用方法

發布時間:2022-01-31 07:26:26

1. C#除了thread.sleep()的延時方法,還有什麼延時方法

java是跨平台的,理論上不存在有方法在windows上可以而在linux上不行。你這個可能是你的兩個地方JDK或tomcat環境的問題,或者是出現了其他錯誤,導致linux上沒有運行到sleep那一步,或者是代碼沒有更新到linux上去。

2. Java中Runnable和Thread的區別

Runnable介面和Thread類是java中實現多線程的兩種方法。主要區別在於:Thread是類,而Runnable是介面。
抽象類和介面的區別如下:
1. 在類來繼承抽象類時,只需實現部分具體方法和全部抽象方法,而實現介面則要實現裡面的全部方法。
2. 在介面中無成員變數,而抽象類中可有成員變數。
在Java中引進介面主要是為了解決多繼承的問題,實現多線程主要繼承Thread 類和實現Runnable介面。

3. 如何在 Thread

在一個Android 程序開始運行的時候,會單獨啟動一個Process。
默認的情況下,所有這個程序中的Activity或者Service(Service和 Activity只是Android提供的Components中的兩種, 除此之外還有Content Provider和Broadcast Receiver)都會跑在這個Process。一個Android 程序默認情況下也只有一個Process,但一個Process下卻可以有許多個Thread。

在這么多Thread當中,有一個Thread,我們稱之為UI Thread。
UI Thread在Android程序運行的時候就被創建,是一個Process當中的主線程Main Thread, 主要是負責控制UI界面的顯示、更新和控制項交互。

在Android程序創建之初,一個Process呈現的是單線程模型,所有的任務都在一個線程中運行。因此,我們認為,UI Thread所執行的每一個函數,所花費的時間都應該是越短越好。而其他比較費時的工作(訪問網路,下載數據,查詢資料庫等),都應該交由子線程去執行,以免阻塞主線程。

那麼,UI Thread如何和其他Thread一起工作呢?常用方法是:
1.誕生一個主線程的Handler物件,當做Listener去讓子線程能將訊息Push到主線程的Message Quene里,以便觸發主線程的handlerMessage()函數,讓主線程知道子線程的狀態,並在主線程更新UI。

2.在子線程的狀態發生變化時,我們需要更新UI。
如果在子線程中直接更新UI,通常會拋出下面的異常:
ERROR/JavaBinder(1029):android.view.ViewRoot$:Only the original thread that created a view hierarchy can touch its views.
意思是,無法在子線程中更新UI。

3.我們需要通過Handler物件,通知主線程Ui Thread來更新界面。
如下:
3.1 首先創建一個Handler,來監聽Message的事件:
private final int UPDATE_UI = 1;
private Handler mHandler = new MainHandler();
private class MainHandler extends Handler {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case UPDATE_UI: {
Log.i("TTSDeamon", "UPDATE_UI");
showTextView.setText(editText.getText().toString());
ShowAnimation();
break;
}
default:
break;
}
}
}
3.2
private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case UPDATE_UI: {
Log.i("TTSDeamon", "UPDATE_UI");
showTextView.setText(editText.getText().toString());
ShowAnimation();
break;
}
default:
break;
}
}
}
當子線程的狀態發生變化,則在子線程中發出Message,通知更新UI。
mHandler.sendEmptyMessageDelayed(UPDATE_UI, 0);

4. 在我們的程序中,很多Callback方法有時候並不是運行在主線程當中的,所以如果在Callback方法中更新UI失敗,也可以採用上面的方法。

4. java 中使用線程的方法到底有哪些

都是通過new Thread().start()開啟線程,一般有兩種方式:1是繼承自Thread類,2是實現Runnable介面,第二種方式更加靈活,Java不支持多繼承,但是支持多實現。求採納

5. 1. 寫出用Java編寫多線程程序的兩種常用方法

1、繼承Thread,然後生成對象

2、用類A實現runable介面,然後用你實現runnable的類A,生成Thread對象 Thread(A對象);

API 上說明如下:

創建新執行線程有兩種方法。一種方法是將類聲明為 Thread 的子類。該子類應重寫 Thread 類的
run 方法。接下來可以分配並啟動該子類的實例。例如,計算大於某一規定值的質數的線程可以寫成:

classPrimeThreadextendsThread{
longminPrime;
PrimeThread(longminPrime){
this.minPrime=minPrime;
}

publicvoidrun(){
//
...
}
}

然後,下列代碼會創建並啟動一個線程:

PrimeThreadp=newPrimeThread(143);
p.start();

創建線程的另一種方法是聲明實現 Runnable 介面的類。該類然後實現 run
方法。然後可以分配該類的實例,在創建 Thread 時作為一個參數來傳遞並啟動。採用這種風格的同一個例子如下所示:

implementsRunnable{
longminPrime;
PrimeRun(longminPrime){
this.minPrime=minPrime;
}

publicvoidrun(){
//
...
}
}

然後,下列代碼會創建並啟動一個線程:

rimeRunp=newPrimeRun(143);

newThread(p).start();

6. Thread的基本定義

為了正確有效地使用線程,必須理解線程的各個方面並了解Java實時系統。必須知道如何提供線程體、線程的生命周期、實時系統如 何調度線程、線程組、什麼是幽靈線程(Demo nThread)。

7. java 線程 有幾種創建方法啊 最常用的是哪種啊

繼承Thread類和實現Runnable介面
第二種常用。因為如果繼承自Thread類的話,java是單繼承機制所以就沒有辦法再繼承其他類了。而實現Runnable介面則還可以再繼承其他的類。

8. java中runnable和thread的區別

Runnable介面和Thread類是java中實現多線程的兩中方法。
Thread類的構造方法有8個,但常用的只有4個,分別為:
Thread類中的兩個最主要的方法:
(1)run()—包含線程運行時所執行的代碼,即線程需要完成的任務,是線程執行體。
(2)start()—用於啟動線程。
實現Runnable介面的類必須使用Thread類的實例才能創建線程。通過實現Runnable介面來創建並啟動多線程的步驟:

9. 多線程實現的幾種常用的方法

有三種:
(1)繼承Thread類,重寫run函數
創建:
class xx extends Thread{
public void run(){
Thread.sleep(1000) //線程休眠1000毫秒,sleep使線程進入Block狀態,並釋放資源
}}
開啟線程:
對象.start() //啟動線程,run函數運行
(2)實現Runnable介面,重寫run函數
開啟線程:
Thread t = new Thread(對象) //創建線程對象
t.start()
(3)實現Callable介面,重寫call函數
Callable是類似於Runnable的介面,實現Callable介面的類和實現Runnable的類都是可被其它線程執行的任務。
Callable和Runnable有幾點不同:
①Callable規定的方法是call(),而Runnable規定的方法是run().
②Callable的任務執行後可返回值,而Runnable的任務是不能返回值的
③call()方法可拋出異常,而run()方法是不能拋出異常的。
④運行Callable任務可拿到一個Future對象,Future表示非同步計算的結果。它提供了檢查計算是否完成的方法,以等
待計算的完成,並檢索計算的結果.通過Future對象可了解任務執行情況,可取消任務的執行,還可獲取任務執行的結果

閱讀全文

與thread常用方法相關的資料

熱點內容
兒童口腔炎的治療方法 瀏覽:336
七星漂走漂解決方法 瀏覽:974
醫療垃圾微生物殺滅率檢測方法 瀏覽:120
漢服打結方法圖片 瀏覽:255
花繩最簡便的方法怎麼樣玩 瀏覽:517
宮頸糜爛最好的治療方法 瀏覽:691
檢測大分子蛋白質的方法 瀏覽:664
如何創建新的教學方法 瀏覽:893
痘印快速消除的方法 瀏覽:905
用白醋美白的正確方法 瀏覽:207
一樓樓頂漏水用什麼方法解決 瀏覽:712
快速切紅辣椒方法 瀏覽:703
格蘭仕微電腦壓力鍋頂蓋拆卸方法 瀏覽:447
豬腳鹵水製作方法視頻 瀏覽:981
養青斑魚的方法和技巧 瀏覽:921
訓練氣質的方法 瀏覽:853
脊柱損傷治療新方法和新葯物 瀏覽:509
串鉤主線與子線無結連接方法 瀏覽:84
取消電腦開機密碼的方法 瀏覽:918
樓地面工程施工方法有哪些 瀏覽:76