![]() |
1
1
在公共资源或代码块上执行线程同步的常见简单方法是使用互斥体(在本例中是关键部分)。使用lock语句: http://msdn.microsoft.com/en-us/library/c5kehkcz(VS.71).aspx 本文说要对“this”指针进行锁定,但这可能很危险,因为外部调用程序也可以获取相同的锁,这可能会破坏程序。锁定一个私有类变量。 下面是对示例代码的一些修改,以合并锁定/A关键部分:
编辑: (引自评论)。您提到过,您可能希望在单个线程上异步处理对executeCommand的所有调用。您可以使用Dispatcher类完成此任务: http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.aspx 在一个线程上获取对调度程序的引用。将该引用传递给其他线程。当这些线程想要调用ExecuteCommand时,它们使用Dispatcher.BeginInvoke。因为它们使用begininvoke,所以对executeCommand的所有调用都将异步操作,而不会阻塞该线程。但是,每个版本的executeCommand都将排队,并按顺序运行Dispatcher线程。 |
![]() |
clorisanderton · 可能的Git扩展 7 年前 |
![]() |
GeorgeK · Nativescript联系人列表插件 7 年前 |
![]() |
Kazora · 我在插口插件中的命令不起作用 7 年前 |
![]() |
E235 · 如何搜索Docker插件 7 年前 |