1. 程式人生 > >java面試之多執行緒(未完待續)

java面試之多執行緒(未完待續)

1.什麼是多執行緒?

在一個應用程式中,同時,有多個不同的執行路徑。

2.執行緒和程序有什麼區別?

執行緒是程序的一條執行路徑,而程序是執行緒的集合。

3.什麼是執行緒同步、非同步?

執行緒同步表示,當前執行緒執行完後下一個執行緒接著執行。

執行緒非同步表示,  在一個應用程式中,同時,有多個不同的執行路徑

4.執行緒之間如何同步

執行緒之間同步使用 synchronized、wait 與 notify

5.什麼是執行緒不安全?如何解決?(重點)

就是在多個執行緒共享同一個資料會受到其他執行緒的干擾。如何解決:使用執行緒同步技術, 用上鎖(synchronized)。 讓一個執行緒執行完了,在讓另一個執行緒執行。

6.如何建立一個執行緒?有幾種方法?

繼承thread類, 重寫run方法、實現Runnalbe介面,重寫run方法 , 啟動一個執行緒用start();

7.sleep()和 wait()有什麼區別?

a、sleep是讓當前執行緒指定休眠時間,然後繼續工作  不釋放鎖

 b、讓當前執行緒wait則是等待,直到有執行緒通知notify()喚醒他才會重新工作。釋放鎖