衝擊大廠必備
第一種實現方法,使用wait()、notify方法實現
public
static
void
main
(string[
] args)
;char
arr2 =
; object o =
newobject()
;new
thread((
)->
catch
(exception e)}}
}).start()
;new
thread((
)->
catch
(exception e)}}
}).start()
;}
第二種實現方法 park、onpark方法
需要注意的是:以下這種寫法僅用作展示原理。實際會報錯,因為匿名內部類中的變數需要用final修飾,例如locksupport.unpark(t2); t2需要用final修飾。二final變數又是不可能更改的。所以會報錯。
實際做的方法是:定義兩個類,繼承thread,並分別重寫run方法。來實現這個過程。
public
static
void
main
(string[
] args)
;char
letter =
;//這裡會報錯,final修飾的變數不可以更改。
t1 =
newthread((
)->})
;//這裡會報錯,final修飾的變數不可以更改。
t2 =
newthread((
)->})
; t1.
start()
; t2.
start()
;}
面試題 多執行緒程式設計
題目 四個執行緒 t1,t2,t3,t4,向 4 個檔案中寫入資料,t1 只能寫入 1,t2 只能寫入 2,t3 只能寫 入 3,t4 只能寫入 4,對 4 個檔案 a,b,c,d 寫入如下內容 a 123412341234.b 234123412341.c 341234123412.d 41234...
面試題 多執行緒程式設計
題目 四個執行緒 t1,t2,t3,t4,向 4 個檔案中寫入資料,t1 只能寫入 1,t2 只能寫入 2,t3 只能寫 入 3,t4 只能寫入 4,對 4 個檔案 a,b,c,d 寫入如下內容 a 123412341234.b 234123412341.c 341234123412.d 41234...
多執行緒面試題
題目 主線程執行10次,子執行緒執行10次,此過程重複50次 package com.thread.test function 主線程執行10次,子執行緒執行10次,此過程重複50次 public class threadproblem start for int j 0 j 50 j class ...