多執行緒(二) 前台執行緒和後台執行緒 聯合執行緒

2021-10-05 12:24:05 字數 1083 閱讀 3152

前台執行緒和後台執行緒的關係

後台執行緒前台執行緒建立

public

class test

thread t=

newtestthread()

;//必須在start()前設定為後台執行緒

//不加setdaemon(true)則是前台執行緒

t.setdaemon

(true);

t.start()

;}}class

testthread extends thread

}}

後台執行緒執行結果

聯合執行緒

執行緒的join方法可以把當前執行緒和當前所在的執行緒聯合成乙個執行緒

public

class test

thread t=

newtestthread()

;//必須在start()前設定為後台執行緒

// t.setdaemon(true);

t.start()

;int index=0;

while

(true

)catch

(interruptedexception e)

} system.

out.

println

("main():"

+thread.

currentthread()

.getname()

);}}

}class

testthread extends thread

}}

程式啟動時main()和run()方法交替執行,當main()執行了一百遍後將run()的執行緒合併到main()的執行緒中。這個時候多執行緒變成了單執行緒,只剩下run()在執行,main()的**沒有執行的機會。

(二)前台執行緒和後台執行緒

1.獲取執行緒狀態 2.終止執行緒 執行緒池執行的都是後台執行緒 執行緒池只能用於時間比較短的任務 static void main string args static void main string args 任務的層次結構 父任務等待子任務執行完成才完成 模擬線程爭用 using syste...

C 多執行緒 前台執行緒和後台執行緒

由於時間片的原因,雖然所有執行緒在微觀上是序列執行的,但在巨集觀上可以認為是並行執行。執行緒有兩種型別 前台和後台。我們可以通過執行緒屬性isbackground false來指定執行緒的前後臺屬性 預設是前台執行緒 區別是 前台執行緒的程式,必須等所有的前台執行緒執行完畢後才能退出 而後台執行緒的...

C 多執行緒 前台執行緒和後台執行緒

由於時間片的原因,雖然所有執行緒在微觀上是序列執行的,但在巨集觀上可以認為是並行執行。執行緒有兩種型別 前台和後台。我們可以通過執行緒屬性isbackground false來指定執行緒的前後臺屬性 預設是前台執行緒 區別是 前台執行緒的程式,必須等所有的前台執行緒執行完畢後才能退出 而後台執行緒的...