跨執行緒可能引發的崩潰問題

2021-08-11 05:27:09 字數 533 閱讀 3676

跨執行緒引發的崩潰:

1.正常跨執行緒呼叫

a.跨執行緒造成死鎖

b.跨執行緒釋放記憶體

c.多執行緒併發訪問(例如:進入乙個介面時,該介面會同時發起三個非同步請求操作。每個操作在發起資料請求時,都可能會調某一方法進行訪問某一屬性值)

d.執行緒本身有問題,呼叫此執行緒也會掛掉。(執行本段邏輯均會掛掉)

e.執行緒呼叫後未sleep,一直占用cpu,導致程式直接被殺死

f. 對公有變數的同時讀或寫。(當多個執行緒需要對公有變數進行寫操作時,後乙個執行緒往往會修改掉前乙個執行緒存放的資料,從而使前乙個執行緒的引數被修改;另外,當公用變數的讀寫操作是非原子性時,在不同的機器上,中斷時間的不確定性,會導致資料在乙個執行緒內的操作產生錯誤,從而產生莫名其妙的錯誤,而這種錯誤是程式設計師無法預知的)、

2.異常跨執行緒呼叫

同步鎖出現問題(在不應該解鎖的地方提前解鎖,導致其他執行緒訪問到此處的內容,引發了異常)

Runtime引發的執行緒問題

以前沒用過在本地執行命令列程式,這次專案中涉及到blast演算法問題,要用到blast演算法本地化命令列指令的呼叫,所以必須得用到runtime,來執行命令列程式,執行這個程式會返回乙個xml檔案,隨後我要對其解析返回結果。然後,每次命令列程式執行完後,去讀其生成的xml檔案,總說找不到,而本地卻已...

伺服器掛了可能引發的問題

今天遇到三個測試提過來的問題 1 測試新上傳的獲取不到,返回的名稱也是null 伺服器掛了 原因開發環境的伺服器掛了 2 測試新建模板的時候失敗 伺服器沒有啟動相關服務 經過排查原因測試環境的mongo伺服器沒有啟動我們專案mongo表對應的服務 我的處理辦法 先切換到測試環境進行測試確實存在這個問...

濫用執行緒池引發的問題

前不久,由於組內乙個同事濫用執行緒池造成了一起比較嚴重的線上故障。現在記錄一下,防止自己以後犯同樣的錯誤。a介面是用來返回所有型別的光線資料的同步介面。某種特定的光線x3用了乙個執行緒池 執行緒池裡面有兩個執行緒,將乙個任務拆成兩個來同時進行,等兩個執行緒的任務完成後合併資料並返回 來加快光線x3的...