複製鏈接
請複製以下鏈接發送給好友

線程組

鎖定
線程組(ThreadGroup)就是由線程組成的管理線程的類,這個類是java.lang.ThreadGroup類。
中文名
線程組
外文名
ThreadGroup
隸    屬
程序
定    義
Java中一個線程都屬於線程組管理

目錄

線程組定義

在Java中每一個線程都歸屬於某個線程組管理的一員,例如在主函數main()主工作流程中產生一個線程,則產生的線程屬於main這個線程組管理的一員。
定義一個線程組,通過以下代碼可以實現。
ThreadGroup group=new ThreadGroup("group");
Thread thread=new Thread(group,"the first thread of group");

線程組舉例

ThreadGroup類中的某些方法,可以對線程組中的線程產生作用。例如,setMaxPriority()方法可以設定線程組中的所有線程擁有最大的優先權。
所有線程都隸屬於一個線程組。那可以是一個默認線程組,亦可是一個創建線程時明確指定的組。在創建之初,線程被限制到一個組裏,而且不能改變到一個不同的組。每個應用都至少有一個線程從屬於系統線程組。若創建多個線程而不指定一個組,它們就會自動歸屬於系統線程組。
線程組也必須從屬於其他線程組。必須在構建器裏指定新線程組從屬於哪個線程組。若在創建一個線程組的時候沒有指定它的歸屬,則同樣會自動成為系統線程組的一名屬下。因此,一個應用程序中的所有線程組最終都會將系統線程組作為自己的“父”
之所以要提出“線程組”的概念,一般認為,是由於“安全”或者“保密”方面的理由。根據Arnold和Gosling的説法:“線程組中的線程可以修改組內的其他線程,包括那些位於分層結構最深處的。一個線程不能修改位於自己所在組或者下屬組之外的任何線程””(註釋①)
①:《The Java Programming Language》第179頁。該書由Arnold和James Gosling編著,Addison-Wesley於1996年出版