日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UNIX(多线程):23---线程池注意事项和常见问题

發(fā)布時間:2023/12/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UNIX(多线程):23---线程池注意事项和常见问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

 使用線程池的注意事項

  • 死鎖

任何多線程程序都有死鎖的風險,最簡單的情形是兩個線程AB,A持有鎖1,請求鎖2,B持有鎖2,請求鎖1。(這種情況在mysql的排他鎖也會出現,不會數據庫會直接報錯提示)。線程池中還有另一種死鎖:假設線程池中的所有工作線程都在執(zhí)行各自任務時被阻塞,它們在等待某個任務A的執(zhí)行結果。而任務A卻處于隊列中,由于沒有空閑線程,一直無法得以執(zhí)行。這樣線程池的所有資源將一直阻塞下去,死鎖也就產生了。

  • 系統(tǒng)資源不足

如果線程池中的線程數目非常多,這些線程會消耗包括內存和其他系統(tǒng)資源在內的大量資源,從而嚴重影響系統(tǒng)性能。

  • 并發(fā)錯誤

線程池的工作隊列依靠wait()和notify()方法來使工作線程及時取得任務,但這兩個方法難以使用。如果代碼錯誤,可能會丟失通知,導致工作線程一直保持空閑的狀態(tài),無視工作隊列中需要處理的任務。因為最好使用一些比較成熟的線程池。

  • 線程泄漏

使用線程池的一個嚴重風險是線程泄漏。對于工作線程數目固定的線程池,如果工作線程在執(zhí)行任務時拋出RuntimeException或Error,并且這些異常或錯誤沒有被捕獲,那么這個工作線程就異常終止,使線程池永久丟失了一個線程。(這一點太有意思)

另一種情況是,工作線程在執(zhí)行一個任務時被阻塞,如果等待用戶的輸入數據,但是用戶一直不輸入數

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的UNIX(多线程):23---线程池注意事项和常见问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。