使用多執行緒的幾種方式以及對比
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 票號為 ...