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

2021-07-06 08:31:42 字數 957 閱讀 8510

兩個執行緒,乙個列印1-100的奇數,乙個列印1-100的偶數;要求:執行緒1列印5個之後,執行緒2開始列印,執行緒2列印5個之後,執行緒1再開始列印,以此迴圈。

package threadtest;

public class test1 catch(interruptedexception e)

}// 當state=1時, 輪到執行緒1列印5次數字

for(int j=0;j<5;j++)

// 執行緒1列印完成後, 將state賦值為2, 表示接下來將輪到執行緒2列印

state = 2;

// notifyall()方法喚醒在t上wait的執行緒2, 同時執行緒1將退出同步**塊, 釋放t鎖

t.notifyall(); }}

}}).start();

new thread(new runnable()catch(interruptedexception e)

}for(int i=0;i<5;i++)

state=1;

t.notifyall();

}}

}}).start();

}}

兩個執行緒交替列印。例如第乙個執行緒列印1,接著第二個執行緒列印100,接著第乙個執行緒列印2

package threadtest;

public class threadtest1 extends thread

public void run()catch(interruptedexception e)

}} synchronized(ss) }

public void print()else }

public static void main(string args)

}

多執行緒交替執行

場景 由於業務需要多執行緒併發操作,並且多執行緒之間是有一定的依賴關係,比如a執行緒儲存資料,b執行緒則解析資料,即b執行緒是需要在a 執行緒執行完之後才開始執行,同樣a執行緒儲存資料的也需要b執行緒對資料解析完成後才開始儲存新的資料,因此a與b兩個執行緒就形成了交替實現,當然具體情況比這個複雜一些...

多執行緒交替執行

場景 由於業務需要多執行緒併發操作,並且多執行緒之間是有一定的依賴關係,比如a執行緒儲存資料,b執行緒則解析資料,即b執行緒是需要在a 執行緒執行完之後才開始執行,同樣a執行緒儲存資料的也需要b執行緒對資料解析完成後才開始儲存新的資料,因此a與b兩個執行緒就形成了交替實現,當然具體情況比這個複雜一些...

java多執行緒執行問題

class demo extends thread public void run catch interruptedexception e public class test d2.start 如果開啟新執行緒之前,就因為異常而中止了執行緒,那麼新執行緒將無法開啟!class demo exten...