java兩個執行緒交替執行

2021-07-04 02:29:04 字數 583 閱讀 5187

一般來說執行緒鎖可以用:synchronized、lock。

這個題目的難點不在於同步塊,而在於怎麼樣設計這個兩個執行緒的交替實現。由於執行緒爭用cpu的隨機性,就需要a線,b執行緒執行,在b執行完一次進入等待之前喚醒a,如此往復,那麼這裡就要用上notify和wait了。

/*

*//**

* @author: wangh.wang date: 2015/7/22 time: 21:15

*/public class thread1

});thread b=new thread((new runnable()

}));

a.start();

b.start();

}}class bussiness

if (bshouldsub) catch (interruptedexception e) }}

}}

}public void subthread()

if (!bshouldsub) catch (interruptedexception e) }}

}}

}}

兩個執行緒嚴格交替執行java實現

一道經典的執行緒併發的問題,執行緒1列印1 3 5 執行緒2列印2 4 6 兩個執行緒交替執行輸出1 2 3 4 5 6 首先基本的思路就是建立兩個執行緒,兩個執行緒共享object鎖,執行緒中執行完乙個迴圈之後呼叫先呼叫notify喚醒另乙個執行緒 notify只是將執行緒2從wait狀態喚醒,還...

實現兩個執行緒交替執行

比如執行緒1輸出0,執行緒2輸出0,執行緒1輸出1,執行緒2輸出1。既然有先後順序,優先想到和順序有關的鎖,reentrantlock的公平鎖,等待時間最長的執行緒優先獲取鎖。如下 public class alternatedemo static class task implements run...

java多執行緒問題,執行緒交替執行

兩個執行緒,乙個列印1 100的奇數,乙個列印1 100的偶數 要求 執行緒1列印5個之後,執行緒2開始列印,執行緒2列印5個之後,執行緒1再開始列印,以此迴圈。package threadtest public class test1 catch interruptedexception e 當s...