C# · 12月 28, 2021

c# – 在UI Thread上编组的方法需要线程安全

如果我在UI上调用一个方法线程是否被 Windows消息队列搜索,随后不需要重新进入? private void CalledFromWorkerThread() { //changed from ‘Invokerequired’ Anti-Pattern this.Invoke((Action) (() => _counter++; /* Is this ok? */ )); }

澄清:只有UI线程将访问_counter.

解决方法 假设_counter只能被UI线程访问,你有什么好处

如果两个线程调用您的CalledFromWorkerThread,那么_counter将被正确地递增并且线程安全.