註解及多執行緒

2021-09-05 12:37:14 字數 1184 閱讀 6871

註解

自定義註解:

成員型別受限:基本型別及string class annotation enumeration

註解中成員取名為name+()

可以用default為成員指定預設值

內建註解:

override(重寫)

@depercateed(過時)

@suppresswaring

元註解:

@target()

多執行緒:

建立執行緒的兩種方式:

繼承thread類

編寫簡單,可直接操作執行緒,適用於單繼承

實現runnable介面

避免單繼承的侷限性,便於共享資源

獲取當前執行緒名:

system.out.println(thread.currentthread().getname()+":"+i);

啟動執行緒 thread.start

執行緒排程:

void setpriority(int newpriority) 更改執行緒的優先順序

static void sleep(long millis) 在指定的毫秒數內讓當前正在執行的執行緒休眠

void join() 等待該執行緒終止

static void yield () 暫停當前正在執行的執行緒物件,允許其他執行緒執行,

但是該執行緒仍然處於可執行狀態,並不變為阻塞狀態

此時,系統會選擇其他相同或更高優先順序執行緒執行,

如果沒有其他相同或更高優先順序執行緒,該執行緒繼續執行

執行緒狀態:

建立狀態 就緒狀態 執行狀態 阻塞狀態 死亡狀態

執行緒同步:

當兩個或多個執行緒需要訪問同一資源時,

需要以某種順序來確保該資源在某一時刻只能被乙個執行緒使用的方式稱為執行緒同步;

採用同步控制執行緒的兩種方式:同步方法和同步**塊 synchronized

執行緒安全型別:執行緒安全 執行緒不安全

hashtable && hashmap

hashtable

繼承關係

實現了map介面,hashtable繼承dictionary類

執行緒安全,效率較低

鍵和值都不允許為null

hashmap

繼承關係

實現了map介面,繼承abstractmap類

非執行緒安全,效率較高

鍵和值都允許為null

Spring 通過 Async註解實現多執行緒

一 新建配置類 configuration enableasync public class threadpooltaskconfig 二 建立方法類 service public class taskservice 三 啟動類新增註解 componentscan com.example enabl...

VC MFC 多執行緒及執行緒同步

自動事件 cevent類的建構函式,第二個引數為false,是自動事件,自動事件在呼叫setevent函式被使用後能夠自動恢復為無訊號狀態。預設情況下,是自動事件。1 宣告事件為全域性物件。包含使用執行緒同步物件所需要的標頭檔案 include afxmt.h cevent eventobj 構造乙...

Java多執行緒及執行緒池

提問 我開啟了乙個qq 又開啟了乙個遊戲,請問我開啟了兩個執行緒嗎?回答 概念理解錯誤,你其實開啟是兩個程序,為什麼呢,請看概念 程序是正在執行的程式,是系統呼叫資源和進行資源分配的基本單位。比如所說的qq 和乙個遊戲,這就是兩個正在執行的程式。我們的作業系統都是多程序的。繼續提問 早期的計算機是單...