面試題 執行緒安全問題

2021-09-19 15:35:31 字數 353 閱讀 1225

一、為什麼會有執行緒安全問題?

當多個執行緒同時共享同同乙個全域性變數或靜態變數,做寫的操作時,可能會發生資料衝突問題,也就是執行緒安全問題。但是做讀的操作不會發生執行緒安全問題。

二、如何解決多執行緒之間執行緒安全問題?

使用多執行緒之間同步synchronized或使用鎖(lock),將可能會發生資料衝突問題(執行緒不安全問題),只能讓當前乙個執行緒進行執行。**執行完成後釋放鎖,然後才能讓其他執行緒進行執行。這樣的話,就可以解決執行緒不安全問題。

三、什麼是多執行緒之間同步?

當多個執行緒共享同乙個資源,不會受到其他執行緒干擾。

四、多執行緒死鎖?

同步中巢狀同步,導致鎖無法釋放

執行緒安全問題

執行緒安全問題導致的原因 當多條語句在操作同乙個執行緒共享資料時,乙個執行緒對多條語句只執行了一部分,還沒有徹底執行完畢,此時另乙個執行緒參與進來執行,導致共享資料的錯誤。執行緒安全解決辦法 對多條操作共享的語句,每次只能讓乙個執行緒執行完成。在執行的過程中,其他執行緒不可以參與執行。解決方案 同步...

執行緒安全問題

是指 在多個執行緒進行的情況下對全域性變數或靜態變數進行寫的操作的時候出現的資料上的問題,就是執行緒安全的問題,在讀的時候不會出現執行緒的問題 即 public void run catch interruptedexception e synchronized this 即 package com...

執行緒安全問題

由於cpu輪流切換執行緒導致某執行緒沒來的及執行完,執行緒的共享變數便直接被其他執行緒所修改。package 執行緒安全問題 public class mainclass2 class ticket extends threadcatch interruptedexception e system....