java多執行緒面試題

2021-06-16 05:48:46 字數 830 閱讀 2759

有三個執行緒id分別是a、b、c,請有多線程式設計實現,在螢幕上迴圈列印10次abcabc…

由於執行緒執行的不確定性,要保證這樣有序的輸出,必須控制好多執行緒的同步。

執行緒同步有兩種基本方法:

(1)    synchronized

(2)    wait,notify,notifyall

現在分別採用這兩種方法來解答這道題目。

public class demo01

class method1 implements runnable

@override

public void run()

count--;

if (this.name.equals("a")) else if (this.name.equals("b")) else if (this.name.equals("c")) }}

}}class startlock

public void setname(string name)

//方法(二)執行緒類修改如下,其他類一樣:

class method2 implements runnable

@override

public void run() catch(interruptedexception e)

}system.out.print(name);

count--;

if (this.name.equals("a")) else if (this.name.equals("b")) else if (this.name.equals("c"))

lock.notifyall();}}

}

Java多執行緒面試題

執行緒池的原理,為什麼要建立執行緒池?將預先建立好的執行緒放入執行緒池當中。當有執行緒請求時,則從執行緒池中呼叫執行緒,呼叫結束之後歸還執行緒。當出現需要建立大量執行緒的情況時,反覆的建立執行緒會造成大量的效能損耗。使用執行緒池能降低損耗,提高響應的速度,方便管理執行緒。執行緒的生命週期,什麼時候會...

java多執行緒面試題1

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

多執行緒Java面試題總結

57 thread類的sleep 方法和物件的wait 方法都可以讓執行緒暫停執行,它們有什麼區別?答 sleep 方法 休眠 是執行緒類 thread 的靜態方法,呼叫此方法會讓當前執行緒暫停執行指定的時間,將執行機會 cpu 讓給其他執行緒,但是物件的鎖依然保持,因此休眠時 間結束後會自動恢復 ...