Ste*_*don 1 .net c# multithreading winforms
我知道围绕这个还有其他问题,但大多数答案都没有做我要提出的建议.所以我知道你不应该这样做.这个问题的原因是我想要做到这一点,我怎么能这样做......
这就是我想打破规则的原因......
假设我有一个复杂的应用程序,它是版本1,我们希望我们的客户在崩溃或挂起时向我们提交错误.我们现在说我在他们点击提交报告的主表单顶部有一个按钮.
现在让我们想象应用程序因为死锁而挂起......
如果那个小按钮和该按钮的处理程序可以存在于主ui线程以外的线程上,那么它就不会陷入死锁状态.单击时,它将收集其他线程的所有调用堆栈,并将它们提交给我们的错误报告服务.
现在,知道这个场景,可以在.net中完成吗?
是的,在"主线程"之外的另一个线程上创建UI没有任何魔力.始终牢记的重要规则是在创建它的线程上与该UI进行交互.
不过,我觉得你是从错误的角度攻击这个.您可能应该努力将所有工作从主线程推出.这样,您可以最大限度地降低该线程冻结的风险,然后您无需借助非正统的解决方案来报告错误.
| 归档时间: |
|
| 查看次数: |
482 次 |
| 最近记录: |