執行緒的五大狀態及常用方法

2022-07-09 20:51:08 字數 874 閱讀 9356

執行緒的五大狀態分為建立狀態(new)、就緒狀態(runnable)、執行狀態(running)、阻塞狀態(blocked)、死亡狀態(dead)

方法描述

static void sleep(long millis)

在指定毫秒內讓執行緒休眠,讓cpu去執行其他任務,但不會釋放鎖

void join()

等待該執行緒終止

static void yield()

執行緒讓步, 暫停當前執行緒,讓cpu去執行其他相同優先順序的執行緒,不會釋放鎖

void interrupt()

執行緒中斷

boolean isalive()

測試執行緒是否處於活動狀態

wait()

執行緒一直等待,會釋放鎖

wait(long millis)

指定執行緒等待的毫秒數

notify()

喚醒乙個處於等待狀態的執行緒

notifyall()

喚醒同乙個物件上所有呼叫wait()方法的執行緒,優先級別高的執行緒優先排程

wait()、 wait(long millis) 、notify()、notifyall() 只能在同步方法或者同步**塊中使用,否則會丟擲illegalmonitorstateexception異常

執行緒的優先順序從1~10

thread.min_priority = 1

thread.max_priority = 10

執行緒狀態及常用方法

建立 就緒 執行 阻塞 結束 建立 當使用new建立新的執行緒時,處於建立狀態 就緒 呼叫start方法後,執行緒並不是立即處於執行狀態,而是出於就緒態 執行 當執行緒被分配cpu後,執行run方法後才處於執行狀態 阻塞 執行緒因為某些原因讓出cpu使用權,直到重新進入執行態 如呼叫sleep方 法...

五大常用演算法

主要是演算法演算法的複雜度 1.分治法 話說遞迴與hanoi塔 二分法求方程近似解 用c 實現合併排序 求最大值和最小值的分治演算法 2.動態規劃法 動態規劃求0 1揹包問題 最長公共子串問題的實現 用動態規劃實現飛彈攔截 最大化投資回報問題的實現 3.貪心演算法 最小生成樹之prim演算法 最小生...

五大常用居中

利用偽元素 after和vertical align 1,首先在裡面建立兩個div,父元素div給乙個class fu 子元素div給乙個class zi 2,給父子元素乙個寬高和背景色以便在瀏覽器中顯示 3,利用display inline block將要居中的.zi轉成行內塊元素 4,在.box...