Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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
C# 为什么windows窗体应用程序会卡在user32中__ClientWaitMessageExMPH?_C#_.net_Multithreading_Winapi_Message Pump - Fatal编程技术网

C# 为什么windows窗体应用程序会卡在user32中__ClientWaitMessageExMPH?

C# 为什么windows窗体应用程序会卡在user32中__ClientWaitMessageExMPH?,c#,.net,multithreading,winapi,message-pump,C#,.net,Multithreading,Winapi,Message Pump,我有一个多线程的.net 4 windows窗体应用程序,它有时只是停下来响应用户操作和Invoke()调用 我在挂起期间进行了转储,似乎主线程在等待用户输入时被阻塞了 以下是主线程的堆栈跟踪: 为什么它在那里很糟糕,我可以锁定一些可以在消息泵中使用的东西,我没有直接锁定任何本地的东西 挂起开始后-主线程的CPU使用率为零。是否有一些特定的调用要求(如使用返回值或输出参数)?如果不是,用BeginInvoke替换Invoke,这可能会有所帮助。BeginInvoke应该是默认选择。不幸的是,它会

我有一个多线程的.net 4 windows窗体应用程序,它有时只是停下来响应用户操作和Invoke()调用

我在挂起期间进行了转储,似乎主线程在等待用户输入时被阻塞了

以下是主线程的堆栈跟踪:

为什么它在那里很糟糕,我可以锁定一些可以在消息泵中使用的东西,我没有直接锁定任何本地的东西


挂起开始后-主线程的CPU使用率为零。

是否有一些特定的调用要求(如使用返回值或输出参数)?如果不是,用BeginInvoke替换Invoke,这可能会有所帮助。BeginInvoke应该是默认选择。不幸的是,它会在许多地方破坏应用程序逻辑。主线程中是否有一些等待操作?应用程序也拒绝处理BeginInvoke。我只有一个UI线程。