Rom*_*key 20 .net multithreading winforms
在WinForms应用程序中,将CheckForIllegalCrossThreadCalls设置为FALSE以避免调试期间的交叉线程错误是否安全?
CheckForIllegalCrossThreadCalls = false;
Run Code Online (Sandbox Code Playgroud)
Han*_*ant 33
不,那不安全.检查线程错误的Winforms代码非常重要,导致的问题极难诊断.最大的问题是它不会导致一致的失败,你的应用程序会随机出错,死锁或每月只崩溃一次.或者从来没有,直到你做了一个小的改变.或者仅在特定用户的计算机上,您将责怪用户而不是您的代码.
CheckForIllegalCrossThreadCalls属性首先存在的唯一原因是保持.NET 2.0并与不执行此线程安全测试的错误.NET 1.x程序兼容.错误的向后兼容性;-P