|
|
1
2
您还可以委托给另一个执行该工作的方法,在该方法中,如果在错误的线程上,(BeginInvoke返回true),则再次调用相同的方法。这样做可以消除重复代码的需要。
您还可以使用Action()泛型类来消除创建显式委托类的需要。。。
} |
|
|
2
1
是的,这是invokererequired&的正确用法;调用,但我建议创建一个单独的、特定于目的的、线程安全的属性,并将其作为广告发布。 |
|
|
3
0
我的UI方法与您的类似:
(这对于.net来说可能已经过时了——但关键是,如果你已经在正确的线程上,你可以在这个方法中进行操作——这样读起来就不那么烦人了,但与Java、IMO相比仍然很烦人)。 |
|
|
4
0
我会把我的2美分注射到这里。对invokererequired/BeginInvoke/Invoke的实际调用不是完全线程安全的。(见 Avoiding the woes of Invoke/BeginInvoke in cross-thread WinForm event handling? |
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 1 年前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
|
András Takács · Python多线程问题 2 年前 |
|
|
András Takács · Python多线程错误 2 年前 |