java執行緒基礎

2021-06-16 14:19:06 字數 1274 閱讀 4047

1.執行緒:程式中的不同執行路徑

程序:靜態概念,機器上的乙個class檔案或者乙個exe檔案都可以被稱為乙個程序,本身不能動

同一時間點內乙個cpu只能有乙個執行緒起著

2.新建執行緒時,推薦使用implements runnable,方便拓展,且只需要重寫run方法

3.thread.start並未開始執行執行緒,只是進入就緒狀態,等待cpu排程

4.執行緒控制基本方法:

isalive():判斷執行緒是否還未終止

getpriority():獲得執行緒的優先順序數值,執行緒的優先順序越高,執行的時間片就越長,優先順序由1到10,預設為5

setpriority():設定執行緒的優先順序數值

thread.sleep():將當前執行緒睡眠指定毫秒數

join():呼叫某執行緒的該方法,將當前執行緒與該執行緒合併,即等待該執行緒結束,再恢復當前執行緒的執行

yield():讓出cpu,當前執行緒進入就緒佇列等待排程

wait():當前執行緒進入物件的wait pool

notify()/notifyall():喚醒物件的wait pool中的乙個/所有等待執行緒

5.wait()和sleep()區別:wait()是object類方法,sleep()是thread類方法;

wait()時其他執行緒可以訪問鎖定物件,sleep()時其他執行緒不能訪問鎖定物件

5.執行緒同步:訪問同乙份資源的多個執行緒之間進行協調

6.生成者消費者例子

public class productconsumer

class wotou

public string tostring()

}class synstack catch (interruptedexception e)

}this.notify();

sswotous[index] = wotou;

index++;

}public synchronized wotou pop()

catch (interruptedexception e)

}this.notify();

index--;

return sswotous[index];}}

class producer implements runnable

@override

public void run() }}

class consumer implements runnable

@override

public void run() }}

}

java執行緒基礎

1.thread類 實現了runnable介面的類。在啟動多執行緒的時候 先是通過thread的構造方法thread runnabletarget 構造出物件,然後在通過thread中的start方法啟動 多執行緒的。2.執行緒的狀態 new 新建 runnable 可執行 running 執行中 ...

Java基礎執行緒

class dead implements runnable 實現runnable介面 else class locka class lockb class test2 thread方法常用引數介紹 run負責執行緒中執行的 thread string name 構造的時候,傳遞執行緒名 getna...

java基礎 執行緒

1 什麼是執行緒 public class mainthread public static void m1 public static void m2 public static void m3 這個程式,有幾條執行路徑呢?其實只有一條,就是main主線程 輸出結果 2 多執行緒實現方法之impl...