Dot-Net

將 CheckForIllegalCrossThreadCalls 設置為 false 以避免調試期間出現跨執行緒錯誤是否安全?

  • November 12, 2012

在 WinForms 應用程序中,將CheckForIllegalCrossThreadCalls設置為 FALSE 以避免調試期間出現跨執行緒錯誤是否安全?

CheckForIllegalCrossThreadCalls = false;

不,那不安全。檢查執行緒錯誤的 Winforms 程式碼非常重要,導致的故障極難診斷。最大的問題是它不會導致一致的失敗,您的應用程序會隨機出現異常行為,並且每月只會出現一次死鎖或崩潰。或者根本不做,直到你做一個小的改變。或者只在特定使用者的機器上,你會責怪使用者而不是你的程式碼。

CheckForIllegalCrossThreadCalls 屬性首先存在的唯一原因是保持 .NET 2.0 及更高版本與未執行此執行緒安全測試的有缺陷的 .NET 1.x 程序兼容。錯誤的向後兼容性;-P

引用自:https://stackoverflow.com/questions/13345091