Day07 12目標 多執行緒的建立

2021-09-27 11:45:01 字數 2448 閱讀 9881

多執行緒是很有用的,接下來要學會如何建立多執行緒。

在乙個程序中建立多個執行緒。

thread:執行緒。

​ (1)定義乙個執行緒類繼承thread類,然後重寫run()方法,再建立執行緒物件,呼叫

​ start()方法啟動執行緒

​ (2)定義乙個執行緒任務類實現runnable介面,然後重寫run()方法

​ 建立執行緒任務物件,把執行緒任務物件包裝成執行緒物件,呼叫

​ start()方法啟動執行緒

​ (3)定義乙個執行緒任務類實現callable介面(拓展)

​ a.定義乙個執行緒類繼承thread類。

​ b.重寫thread類的run()方法

​ c.建立執行緒類的物件。

​ d.呼叫執行緒類物件的start()方法啟動執行緒

​ 優點:

​ 編碼相對簡單。

​ 缺點:

​ 執行緒類已經繼承了thread類,不能再繼承其他類,

​ 執行緒類的功能受到了約束不能繼承其其它類的功能。

​ 不能直接得到執行緒執行的結果。

​ 注意事項:

​ 1,啟動執行緒必須呼叫start()方法

​ 如果直接呼叫run()方法,會被直接當成主線程的方法呼叫執行,不會出現子執行緒!!

​ 2.一般需要把子執行緒先建立啟動,再寫主線程的任務。

// 程序:threaddemo.class

public

class

threaddemo

}}

// a.定義乙個執行緒類繼承thread類。

// mythread只是執行緒類不是執行緒物件,是用來建立執行緒物件的。

class

mythread

extends

thread

}}

​ a.定義乙個執行緒任務類實現runnable介面。重寫run()方法

​ b.建立乙個執行緒任務物件

​ c.把執行緒任務物件包裝成乙個執行緒物件

​ – public thread(runnable target)

​ d.呼叫執行緒物件的start()方法啟動執行緒。

​ 優缺點:

​ 優點:執行緒任務物件只是實現了runnable介面,可以繼續繼承其他類,也可以繼續

​ 實現其他介面,本身功能可以增強。

​ 適合做多執行緒資源共享操作。

​ 適合做執行緒池。

​ 缺點:

​ 編碼相對複雜。

​ 不能直接得到執行緒執行的結果。

public

class

threaddemo

}}

// a.定義執行緒任務類實現runable介面

class

myrunnable

implements

runnable

}}

方式二的匿名內部類寫法:

public

class

threaddemo02}}

;// c.把執行緒任務物件包裝成乙個執行緒物件:public thread(runnable target)

thread t =

newthread

(target)

;// d.呼叫執行緒物件的start()方法啟動執行緒

t.start()

;// c.把執行緒任務物件包裝成乙個執行緒物件:public thread(runnable target)

newthread

(new

runnable()

}}).

start()

;for

(int i =

0; i <

10; i ++)}

}

定義乙個執行緒任務類實現callable介面(拓展)

方式三的優缺點:

缺點:編碼複雜。

優點:執行緒任務物件只是實現了callable介面,可以繼續繼承其他類,也可以繼續

實現其他介面,本身功能可以增強。

適合做多執行緒資源共享操作。

適合做執行緒池。

可以直接得到執行緒執行的結果。

public

class

threaddemo

trycatch

(exception e)

}}

// a.定義乙個執行緒任務類實現callable介面。

class

mycallable

implements

callable

return thread.

currentthread()

.getname()

+"求和的結果是:"

+sum;

}}

多執行緒的建立

每乙個程序都必須有乙個主線程,在主線程中我們可以建立多個執行緒。建立執行緒的方法有以下幾種 一 繼承thread類 這種方法需要重寫run方法,非常簡單,但同時會使 結構混亂而且降低可讀性。package p1 public class mythread extends thread 通過宣告建立的...

多執行緒的建立

includejoin 主要是指當建立子執行緒後,子執行緒執行,主線程要在某個地方等待子執行緒執行完畢。detach 建立子執行緒後,子執行緒與主線程分離稱為守護執行緒,它的資源之內的東西,由系統管理。使用detach 時,要避免使用主線程中的引用,指標之內的東西。否則當主線程釋放相應資源時,子執行...

執行緒的建立與多執行緒

多執行緒執行緒建立的方式 一 使用此方式建立的執行緒為守護執行緒 import thread import threading deffn1 a,b print a,b print threading.current thread name defcreate thread1 引數一 在子執行緒中要...