多執行緒 17 多執行緒題1

2021-09-03 01:38:13 字數 957 閱讀 5874

(1)原始:

*** 現有的程式**模擬產生了16個日誌物件,並且需要執行16秒才能列印完這些日誌,

* 請在程式中增加4個執行緒去呼叫parselog()方法來分頭列印這16個日誌物件,程式只需要執行4秒即可列印完這些日誌物件。原始**如下:

*/public class test }}

//parselog方法內部的**不能改動

public static void parselog(string log) catch (interruptedexception e) }}

(2)改後:

/*** 現有的程式**模擬產生了16個日誌物件,並且需要執行16秒才能列印完這些日誌,

* 請在程式中增加4個執行緒去呼叫parselog()方法來分頭列印這16個日誌物件,程式只需要執行4秒即可列印完這些日誌物件。原始**如下:

*/public class test catch (interruptedexception e) }}

}).start();

}system.out.println("begin:" + (system.currenttimemillis() / 1000));

/*模擬處理16行日誌,下面的**產生了16個日誌物件,當前**需要執行16秒才能列印完這些日誌。

修改程式**,開四個執行緒讓這16個物件在4秒鐘打完。

*/for (int i = 0; i < 16; i++) catch (interruptedexception e)

//                test.parselog(log);}}

}//parselog方法內部的**不能改動

public static void parselog(string log) catch (interruptedexception e) }}

如有疑問,請發郵件:[email protected]

github:??

17 多執行緒 3

執行緒死鎖是一定要規避的問題 案例1 產生死鎖的條件 兩個或兩個以上的執行緒在活動 某個執行緒在執行自己任務沒有執行完的情況下就想獲取第二個鎖,造成了鎖的巢狀 如何避免死鎖 當前執行緒一定要先釋放自己的鎖 執行完執行緒同步的方法的 後再去執行其他的鎖 其他的執行緒同步的方法 盡量不要鎖巢狀,不要在同...

多執行緒17 死鎖

死鎖 思路 首先要有兩個物件口紅 lipstick 類 和鏡子 mirror 類 然後需要一件事情,比如都要去化妝 makeup 類繼承一下thread類重寫run方法,只有乙份資源 用static保證只有乙份 乙個口紅乙個鏡子。我呢,先拿到了口紅,你呢,你先拿了鏡子。1秒鐘以後我想拿鏡子,2秒後你...

刷題1 多執行緒

假設有這麼乙個類 class zeroevenodd 建構函式 public void zero printnumber 僅列印出 0 public void even printnumber 僅列印出 偶數 public void odd printnumber 僅列印出 奇數 相同的乙個 zer...