看傳智播客張孝祥講的乙個例子。
子執行緒迴圈10次,接著主線程迴圈100次,再次回到子執行緒迴圈10次,接著再回到主線程迴圈100次,如此迴圈50次,請寫出程式。
package cn.itcast.heima2;
public class traditionalthreadcommunication
}}).start();
for (int i = 1; i <= 50; i++)
}}/**
* 經驗:要用到的共同資料(包括同步鎖)或同類演算法(如:某個加解密演算法)的若干個
* 方法應該歸在同乙個類身上,這種設計正好體現了高內聚和程式的健壯性。
* @author linzq
* */
class business catch (interruptedexception e)
}for (int j = 1; j <= 10; j++)
bshouldsub = false;
this.notify();
}public synchronized void main(int i) catch (interruptedexception e)
}for (int j = 1; j <= 100; j++)
bshouldsub = true;
this.notify();
}}
d 執行緒同步通訊
package itcast.thread public class traditionalthreadcommunication start for int i 1 i 50 i public class business catch interruptedexception e for int ...
執行緒之同步通訊
執行緒之同步通訊 所謂執行緒之同步通訊,為了避免死鎖,讓執行緒在進入堵塞狀態時盡量釋放其鎖定的資源,以為其他的執行緒提供執行的機會 執行緒間的通訊 兩個或兩個以上的執行緒處理同乙個資源,處理的動作是不一樣的。這樣就需要將不同的動作 放到不同的run 方法中,run方法要封裝到單獨的類中。同步中使用 ...
4 執行緒同步通訊
子執行緒迴圈10次,接著主線程迴圈100次,接著又回到子執行緒迴圈10次,接著再回到主線程又迴圈100,如此迴圈50,請寫出程式。package cn.itcast.thread public class traditionalcomuication start new thread new run...