多執行緒 執行緒優先順序 前台執行緒和後台執行緒

2021-09-08 03:10:00 字數 519 閱讀 6180

【多執行緒】執行緒優先順序

對於執行緒t t.priority可以獲取執行緒的優先順序, threadpriority可以設定執行緒優先順序

如 t.priority = threadpriority.highest; 將執行緒t的優先順序設為highest

getcurrentprocess().processoraffinity = new intptr(1);

用processoraffinity讓作業系統將所有的執行緒執行在單個cpu核心(第乙個核心)上

由於1個核心執行,cpu核心大部分時間執行優先順序高的執行緒,剩下的執行緒執行時間很少

【多執行緒】前台執行緒和後台執行緒

對於執行緒t,t.isbackground可以設定是否是後台執行緒, 執行緒預設是前台執行緒(如在控制台中可以列印出來的執行緒) 

如果t是後台執行緒 t是否執行取決於當前是否有前台執行緒執行或等待執行

如果當前沒有前台執行緒執行或者等待執行,後台執行緒就會被終結

程序會等待所有的前台執行緒執行完再結束 但是如果只剩下後台執行緒 就會直接結束工作

多執行緒 執行緒優先順序

目錄 1 執行緒優先順序具有繼承性 2 執行緒優先順序的作用 thread類原始碼中定義 最低優先順序為1 public final static int min priority 1 一般沒有繼承,沒有顯示指定優先順序時,預設優先順序為5 public final static int norm ...

java多執行緒 執行緒優先順序

1 min priority 10 max priority 5 norm priority 如果不設定預設值為5 例項package threadtest class threadrun implements runnable catch interruptedexception e public...

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

前台執行緒和後台執行緒的關係 後台執行緒前台執行緒建立 public class test thread t newtestthread 必須在start 前設定為後台執行緒 不加setdaemon true 則是前台執行緒 t.setdaemon true t.start class testth...