第八章 核心6 執行緒各屬性

2021-10-07 14:20:48 字數 1623 閱讀 9930

屬性名稱

使用者編號(id)

每個執行緒有自己的id,用於標識不同的執行緒

名稱(name)

作用讓使用者或程式設計師在開發、除錯或執行過程中,更容易區分每個不同的執行緒、定位問題等

是否是守護執行緒(isdaemon)

true代表該執行緒是【守護執行緒】,false代表執行緒是非守護執行緒,也就是【使用者執行緒】

優先順序(priority)

優先順序這個屬性的目的是告訴執行緒排程器,使用者希望哪些執行緒相對多執行、哪些少執行

/**

* id

* * @author venlenter

* @description: id從1開始,jvm執行起來後,我們自己建立的執行緒的id早已不是2

* @since unknown, 2020-04-26

*/public class id

}//輸出結果

主線程id:1

子執行緒id:11

//getid內部呼叫是nextthreadid

= nextthreadid()

//private static synchronized long nextthreadid()

3.1 執行緒名字

3.1.1 預設執行緒名字原始碼分析

public thread() 

private static synchronized int nextthreadnum()

3.1.2 修改執行緒的名字(**演示、原始碼分析)

thread thread = new thread();

system.out.println("子執行緒初始名字:" + thread.getname());

thread.setname("flythread-1");

system.out.println("子執行緒修改後的名字:" + thread.getname());

//輸出結果

子執行緒初始名字:thread-0

子執行緒修改後的名字:flythread-1

3.2 守護執行緒

3.2.1 作用:給使用者執行緒提供服務

3.2.2 三個特性

3.2.3 守護執行緒的常見面試問題

(1)守護執行緒和普通執行緒的區別

(2)我們是否需要給執行緒設定為守護執行緒?thread.setdaemon(true);

10個級別,預設5

程式設計不應依賴於優先順序

屬性名稱

用途注意事項

編號(id)

標識不同的執行緒

執行緒**後,id被後續建立的執行緒使用;無法保證id的唯一性(之前執行緒id,跟後續執行緒id不一定是同乙個執行緒,可能是**後後續建立的);不允許修改id

名稱(name)

定位問題

可以設定乙個清晰有意義的名字(方便跟蹤定位);預設的名稱是thread-0/1/2/3

是否是守護執行緒(isdaemon)

守護執行緒/使用者執行緒

二選一;繼承父執行緒;setdaemon

優先順序(priority)

告訴執行緒排程器,哪些執行緒相對多執行、哪些少執行

預設和父執行緒的優先順序相等,共有10個等級,預設5;不應依賴優先順序

第八章 指標 第八章 指標

1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...

Python核心程式設計 第八章

1.三元操作符 x,y 4,3 if x y smaller x else smaller y smaller 3 smaller 0 smaller x smaller 3 smaller x if x smaller 3x if c else y 2.迭代序列有三種方法。通過序列項迭代 name...

第八章(筆記)

能在 中進行記憶體單元的定址的暫存器只有4個,分別是bx si di bp 其中bx bp 是基址,bx對應的段位址是ds,bp對應的段位址是ss si di 是變址,單獨使用時段位址是ds,組合使用段位址是跟隨組合的基址對應的段位址 中進行記憶體單元定址彙總 si di bx bp 常量 si 常...