簡體   English   中英

測試多線程代碼或確保代碼是線程安全的准則

[英]Guidelines for testing multithreaded code or ensuring that code is thread-safe

是否有任何測試多線程代碼的指導原則(除了在問題上拋出一堆線程並交叉手指)。

我基本上正在尋找測試數據損壞,死鎖和其他並發問題的好方法。 基本上我希望能夠通過測試證明代碼是線程安全的。

Java中是否有任何框架可以讓您輕松編寫多線程場景的測試?

我編寫了很多多線程代碼,並且從未發現任何可以輕松測試我沒有預測到的並發正確性問題。 大多數時候我必須考慮它可能會破壞的場景,然后我可以在極端版本中證明它的正確性(通常使用CountDownLatches或類似的方式以我認為可能會破壞的方式彎曲它)。

絕對使用FindBugs和類似的靜態分析工具來幫助發現潛在的問題,並確保盡可能簡化並發問題。 共享可變內存問題很難,但實際上很容易重新定義問題所以你不共享可變狀態,只有不可變狀態。 這讓生活變得更加簡單。 哦,閱讀JCiP - 然后再讀一遍。 並檢查您的代碼。

GroboUtils, http: //groboutils.sourceforge.net/testing-junit/using_mtt.html,提供了一些用於測試線程的JUnit實用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM