[英]Why static nested class in java.lang.Thread implementation is not visible?
[英]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.