java面試之多執行緒(未完待續)
阿新 • • 發佈:2018-12-13
1.什麼是多執行緒?
在一個應用程式中,同時,有多個不同的執行路徑。
2.執行緒和程序有什麼區別?
執行緒是程序的一條執行路徑,而程序是執行緒的集合。
3.什麼是執行緒同步、非同步?
執行緒同步表示,當前執行緒執行完後下一個執行緒接著執行。
執行緒非同步表示, 在一個應用程式中,同時,有多個不同的執行路徑
4.執行緒之間如何同步
執行緒之間同步使用 synchronized、wait 與 notify
5.什麼是執行緒不安全?如何解決?(重點)
就是在多個執行緒共享同一個資料會受到其他執行緒的干擾。如何解決:使用執行緒同步技術, 用上鎖(synchronized)。 讓一個執行緒執行完了,在讓另一個執行緒執行。
6.如何建立一個執行緒?有幾種方法?
繼承thread類, 重寫run方法、實現Runnalbe介面,重寫run方法 , 啟動一個執行緒用start();
7.sleep()和 wait()有什麼區別?
a、sleep是讓當前執行緒指定休眠時間,然後繼續工作 不釋放鎖
b、讓當前執行緒wait則是等待,直到有執行緒通知notify()喚醒他才會重新工作。釋放鎖