多執行緒程式設計面試題

2021-10-25 00:16:33 字數 984 閱讀 6772

衝擊大廠必備

第一種實現方法,使用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 ...