簡體   English   中英

為什么java.lang.Thread類沒有一個僅包含ThreadGroup的構造函數?

[英]Why doesn't java.lang.Thread class have a constructor which takes only a ThreadGroup in?

java.lang.Thread類具有一個構造函數,該構造函數僅接受一個字符串參數作為線程名稱。 它具有僅接受Runnable目標的構造函數。 但是它也有一個默認的構造函數。 這意味着名稱或Runnable目標不是必需的。

但這在創建帶有ThreadGroup的線程時有些不同。 沒有構造函數僅接受ThreadGroup。至少名稱或Runnable目標與ThreadGroup一起進入。

是否有任何理由讓java.lang.Thread類沒有僅包含ThreadGroup的構造函數?

如果你需要創建一個Thread ,只有一個ThreadGroup參數,你可以使用Thread(ThreadGroup, Runnable)與一個空的構造函數Runnable ,這將有同樣的效果。 也就是說,

t = new Thread(threadGroup, (Runnable)null);

(強制轉換必須將其與Thread(ThreadGroup, String)構造函數進行歧義。)

沒有絕對的理由為什么Thread不能只有一個ThreadGroup的構造函數,但是已經有八個構造函數。 其中的每一個都是測試和文檔的復雜性和負擔,並試圖找出您要調用的是哪一個。 第九個構造函數將努力證明其存在的合理性。 實際上,考慮到ThreadGroup的使用很少,如果重載更少而不是更多,那將不會造成任何損失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM