使用多執行緒的3種方式以及對比

2021-10-24 01:36:45 字數 1407 閱讀 5193

使用多執行緒的幾種方式以及對比

1.繼承thread類

實現方式很簡單, 只需建立乙個類去繼承thread類然後重寫run方法,在main方法中呼叫改例項對物件即可實現多執行緒併發。

public static void main(string args)
class mythread extends thread

@override

public void run()

}

2.繼承runnable介面

實現方式也很簡單,只需建立乙個類去實現介面runnable,在main方法中呼叫該例項物件即可實現多執行緒併發

public static void main(string args)
public class myrunnable implements runnable

@override

public void run()

}

3.使用callable和future建立執行緒

3.1 呼叫futuretask(callablecallable)返回程式方法中的結果

public static void main(string args)   catch (exception e) 

}

public class mycallable implements callable 

}

3.2 呼叫futuretask(runnable runnable, v result)返回給定的返回值(result)

myrunnable myrunnable = new myrunnable("執行緒");

futuretask futuretask = new futuretask(myrunnable, "shdgf");

new thread(futuretask,"子執行緒").start();

try catch (exception e)

public class myrunnable implements runnable

@override

public void run()

}

以上的3種方式進行對比與總結

對比:第一種方式相對簡單,直接start,不需要其它的轉換;第二種方式實現其它的介面,使開發更加靈活;第三種方式可以有返回值,可以丟擲異常。

總結:在實際的開發中,可能會有更加複雜的**,需要繼承其它的類,所以推薦runnable的方式來實現,使得**更加的簡潔靈活。至於第二種方式和第三種方式的選擇,就得根據業務需要,是否需要返回值和是否需要丟擲異常。

正確使用Core Data多執行緒的3種方式

在 pragma conference 2015會議上,marcus zarra,撰寫過關於core data和core animation的書,敘述了三種在多執行緒環境下使用core data的方法並且設法解決在2015年應如何使用core data的問題。實際上,zarras說道,當用乙個擁有十...

多執行緒的建立 四種方式以及使用建議

方式 二 實現 runnable介面 以上兩者的聯絡與使用技巧 方式三 實現 callable介面 callable介面方式的特點 方式四 執行緒池 執行緒池的特點 1.建立乙個繼承於 thread類的子類 class thread1 extends thread public class thre...

Thread 多執行緒使用以及四種建立方式

一 實現runable介面,重新run方法 1 同步 塊 模擬賣票系統 class window implements runnable catch interruptedexception e system.out.println thread.currentthread getname 票號為 ...