我在System.Data.SQLite
之上編寫了一個庫,並意識到它(我的庫)在使用Parallel.ForEach
時具有不可預知的行爲。我可能會最終調試(即如果我花時間),最有可能的是鎖定正確的部分,但現在讓我們假設我想阻止使用Parallel.ForEach
,或者強制使用我的庫來允許(或導致)只有一個線程,我將如何繼續?防止或禁止使用Parallel.ForEach
1
A
回答
5
您無法控制API如何被外部代碼使用。如果您在發佈之前絕對無法解決這個問題,那麼最好在文檔中明確說明故障情況(包括XML註釋和任何類型的「幫助文件」)。
3
一些快速的線程靜態屬性可能會解決您的併發問題,但這聽起來像是一個更大的冰山一角。修復根本原因,而不是症狀。
相關問題
- 1. Parallel.ForEach使用自定義TaskScheduler來防止OutOfMemoryException
- 2. 停止Parallel.ForEach立即
- 3. Primefaces防止/禁止按計劃編輯
- 4. 使用robots.txt禁止或禁止子域名
- 5. Flash UrlLoader - 防止或禁止身份驗證對話框
- 6. yii1防止SQL禁制令
- 7. 防止使用的drawRect或DrawBorder
- 8. 防止使用ImpersonateNamedPipeClient()
- 9. 防止用戶禁用Office加載項?
- 10. 如何禁止背部或使用Django
- 11. 如何防止按鈕啓用或禁用查看源
- 12. 禁止使用jQuery
- 13. 禁止使用jQuery
- 14. 禁止使用PHP
- 15. 禁止使用JavaScript
- 16. 禁止使用angularjs
- 17. 如何防止殺死/終止或停止Windows應用程序
- 18. magento防止或阻止__store參數使用
- 19. 防止加載禁用js的頁面
- 20. 如何防止窗口被禁用?
- 21. 防止控制在vb.net中禁用
- 22. Android:如何防止GPS自動禁用
- 23. 如何禁用/防止tidesdk appcelerator app-track
- 24. 已禁用QGraphicsItem防止滾動的QGraphicsView
- 25. 防止Silverlight datepicker尋找禁用年份
- 26. 如何防止默認並禁用href
- 27. 禁用或禁止「DatePicker」中的「零」值?
- 28. 如何停止Parallel.ForEach循環?
- 29. 禁用或防止活動中的多點觸控
- 30. JavaScript:如何防止雙擊按鈕或禁用按鈕
這讓我想起'Parallel.ForEach'(等)已經發現了很多滴答時間炸彈。訪問獨特的資源,取消選中,解鎖... – MPelletier
聽起來像你有一些重構要做! –
「我感覺到在原力的一個很大的騷動,好像數百萬條線程突然在恐怖中大聲喊叫,並突然沉默。」 – MPelletier