我正在完成一個多線程應用程序的測試,該應用程序似乎正常工作,直到我把它放在重負載下,然後強調它正在運行的機器。然後我開始看到一些我沒有預見到的陌生邊緣案例會產生一些意想不到的/無法預料的情況。我強調機器的方式是在非常大的sqlite數據庫上運行真空。有沒有人有任何其他好方法來誘導這種類型的重載場景?什麼是誘發線程問題的好方法
2
A
回答
1
你指的是什麼樣的壓力?內存,CPU,完整線程池或文件I/O?我會寫一個簡單的應用程序,它有一個消耗內存的線程,一個消耗CPU週期的線程,一個綁定線程池的線程和一個使磁盤崩潰的線程。掛上一個用戶界面來控制每個線程的食慾,並調整「旋鈕」以鳴着你的應用程序。
1
可能是你的興趣 - Unit testing a mutlithreaded application
2
1
由於不正確的鎖定導致的線程問題傾向於在重負載下顯示自身,因爲時序發生變化。實際上並不是產生問題的重負載,而是由於隨機調度延遲而改變的時序。通過在線程的執行中引入隨機延遲,您可以在沒有繁重負載的情況下重新編譯問題。這是國際象棋使用的方法。
相關問題
- 1. 採用這種多線程問題的方法是什麼?
- 2. 什麼是處理asp.net開發中的併發問題的好方法?
- 3. 什麼是使用多線程來模擬的好方法?
- 4. 什麼是停止線程在android中的好方法
- 5. 什麼是阻止線程池運行的好方法?
- 6. 什麼是暫停線程的好方法?
- 7. 什麼是管理多個GitHub回購問題的好方法?
- 8. 解決這個範圍問題的最好方法是什麼?
- 9. 設置診斷ASP.NET連接問題的好方法是什麼?
- 10. SendBroadcast會導致什麼樣的安全問題,什麼是更好的方法?
- 11. 什麼是開發ios應用程序前端的好方法?
- 12. 在C#中對這個問題的最佳線程方法是什麼?
- 13. 什麼是在數字線上設置範圍的好方法?
- 14. 什麼是更好的方法,浮動或在線顯示?
- 15. 有什麼更好的方法來監聽多線程服務?
- 16. 什麼是一些更好的方法來創建主題集線器自動
- 17. 什麼是更好的方法
- 18. 什麼是更好的方法?
- 19. 什麼是定製Sylius的好方法?
- 20. 什麼是記錄最好的方法?
- 21. 什麼是最好的Ajax方法?
- 22. 調用notifyAll的好方法是什麼?
- 23. 什麼是管理Postfix的好方法?
- 24. Sort ObservableCollection - 什麼是最好的方法?
- 25. 什麼是更好的方法?
- 26. 什麼是循環API的好方法?
- 27. 什麼是實現run()的好方法?
- 28. 什麼是最好的方法有URL
- 29. 什麼是最好的辦法了多線程上的SerialPort
- 30. 什麼是測試「元」問題的好地方?
感謝您的想法。我想我會從這樣的事情中獲得最大的收益。 – 2010-02-12 14:31:50