java執行緒面試題1

2021-05-24 12:48:42 字數 667 閱讀 2605

子執行緒迴圈

10次,接著主線程迴圈

100,接著又回到子執行緒迴圈

10次,接著再回到主線程又迴圈

100,如此迴圈

50次,請寫出程式。

備註:不可能一上來就寫出上面的完整**,最初寫出來的**如下,問題在於兩個執行緒的**要參照同乙個變數,即這兩個執行緒的**要共享資料,所以,把這兩個執行緒的執行**搬到同乙個類中去:

public class interviewquestiontest

private void init()

}}.start();

for (int i = 1; i <= 50; i++) }

class business catch (interruptedexception e)

}for (int j = 1; j <= 10; j++)

bshouldrun = false;

this.notify();}

public synchronized void main(int count) catch (interruptedexception e) }

for (int j = 1; j <= 100; j++)

bshouldrun = true;

this.notify();}}

}

java多執行緒面試題1

假設如下 中,若t1執行緒在t2執行緒啟動之前已經完成啟動。的輸出是 public static void main stringargs throws exception catch interruptedexception e t1.start thread.sleep 1000 we assu...

Java 執行緒面試題

子執行緒迴圈10次,接著主線程迴圈100次,接著又回到子執行緒迴圈10次,接著再回到主線程又迴圈100次,如此迴圈50次,請寫出程式。互斥實現了,就是交替執行弄不出來。子執行緒迴圈10次,接著主線程迴圈100次,接著又回到子執行緒迴圈10次,接著再回到主線程又迴圈100次,如此迴圈50次,請寫出程式...

java多執行緒面試題

有三個執行緒id分別是a b c,請有多線程式設計實現,在螢幕上迴圈列印10次abcabc 由於執行緒執行的不確定性,要保證這樣有序的輸出,必須控制好多執行緒的同步。執行緒同步有兩種基本方法 1 synchronized 2 wait,notify,notifyall 現在分別採用這兩種方法來解答這...