Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 为什么我在WPF中得到不同的线程行为,有SP1和没有SP1的Windows7?_.net_Multithreading_Windows 7_Dispatcher_Service Pack - Fatal编程技术网

.net 为什么我在WPF中得到不同的线程行为,有SP1和没有SP1的Windows7?

.net 为什么我在WPF中得到不同的线程行为,有SP1和没有SP1的Windows7?,.net,multithreading,windows-7,dispatcher,service-pack,.net,Multithreading,Windows 7,Dispatcher,Service Pack,我有这个多线程WPF应用程序和两台不同的机器,我正在测试它 第一个是VMware客户端上的Windows 7 Professional SP1虚拟机。 第二个是Win 7专业物理机器。没有SP1 在第一台计算机上,应用程序正常运行,在第二台计算机上,应用程序在调用时输出AccessViolation异常: App.Current.Dispatcher.Invoke(() => { do stuff }); 从以下方式创建的线程: ThreadPool.QueueUserWorkItem(

我有这个多线程WPF应用程序和两台不同的机器,我正在测试它

第一个是VMware客户端上的Windows 7 Professional SP1虚拟机。 第二个是Win 7专业物理机器。没有SP1

在第一台计算机上,应用程序正常运行,在第二台计算机上,应用程序在调用时输出AccessViolation异常:

App.Current.Dispatcher.Invoke(() => { do stuff });
从以下方式创建的线程:

ThreadPool.QueueUserWorkItem( /* callback that calls the dispatcher */ );

如果.Net framework版本相同,您能告诉我为什么会有不同的行为吗?是因为服务包吗?我该如何解决这个问题呢?

显然,我使用的是HookManager,在启动第二个之前没有关闭它。。。我无法理解为什么它在虚拟机上工作而不是在物理机上工作