啟動
3個執行緒列印遞增的數字
, 執行緒
1先列印
1,2,3,4,5,
然後是執行緒2列印
6,7,8,9,10,
然後是執行緒3列印
11,12,13,14,15.
接著再由執行緒1列印
16,17,18,19,20....
以此類推
, 直到列印到
75.
程式的輸出結果應該為:
執行緒1: 1 執行緒
1: 2 執行緒
1: 3 執行緒
1: 4 執行緒
1: 5
執行緒2: 6 執行緒
2: 7 執行緒
2: 8 執行緒
2: 9 執行緒
2: 10
...
執行緒3: 71 執行緒
3: 72 執行緒
3: 73 執行緒
3: 74 執行緒
3: 75
建立了自己的threaddemo函式。同時呼叫run函式來進行執行。
每次乙個thread執行,利用join()等待這個thread終止以後下乙個thread繼續執行
package test;
public class threadmain
// 第二種方法:join()
public static int i = 1;
public void method2()catch(interruptedexception e)
int l = th2.run(j);
trycatch(interruptedexception e)
{}i = th3.run(l);
trycatch(interruptedexception e){}}
}}
package test;
class threaddemo extends thread
threaddemo()
// 過載run函式
public int run(int i)
{ for(int j = i;j
Java 多執行緒練習
1.執行緒的同步和通訊 虛假喚醒 在increment和 decrement裡面需要用while 而不能用if,記住 在多執行緒中永遠用while而不用if,因為if判斷有可能這次通過,但是還有可能方法體內wait等待,所以必須用while。class sharedata number system...
java多執行緒練習1
5輛汽車過隧道,隧道一次只能通過一輛汽車,每輛汽車通過時間不固定 1 class threaddemo2 227 catch exception e 29 system.out.println 所有車都已經通過隧道了 30 31 3233 使用單個執行緒類實現 34class car extends...
java多執行緒的簡單應用
最近在做推送相關的模組,在群推時發現新增log效率比較低,特別是批量update操作,所以使用非同步操作log比較好 建乙個類asynpushrecord,寫從初始化方法設定執行緒基礎引數 postconstruct public void init 關於的threadpoolexecutor用法看...