1. 程式人生 > >java 線程理解

java 線程理解

img 繼承 AI inf 一個 inter throw mage 技術分享

線程創建有兩種方式: 1、實現runnable接口 2、繼承thread 線程 都重寫run方法 2、runnable接口優勢: java 單繼承但可以實現多個接口 runnable 方式可以實現多線程共享一個公用資源 3、線程的生命周期:見下圖 技術分享圖片

4、那麽sleep 和 wait 是什麽? 用於暫停線程使其他線程獲取CUP時間片進行執行 5、各自區別: sleep 是 thread 的方法 意義:等待多少毫秒後再喚醒且不會釋放對象鎖 wait 是object 方法 需要通過notify 或者 notifyAll 進行喚醒 意義:將該線程掛起釋放對象鎖
 //
以下模擬3個窗口同時售賣5張車票的線程代碼。 //可以說明runnable 接口優勢中多線程共享一個公用資源 private int titickits =500000; public static void main(String[] args) throws InterruptedException { Titickits t=new Titickits(); Thread t1=new Thread(t,"窗口A"); Thread t2=new Thread(t,"窗口B"); Thread t3
=new Thread(t,"窗口C"); t1.start(); t2.start(); t3.start(); t1.wait(); } public void run() { while(titickits>0) { titickits--; System.out.println(Thread.currentThread().getName()+"剩余"+titickits); } }

java 線程理解