C# 为什么我的电脑';冻结&x27;当主UI线程冻结时?

C# 为什么我的电脑';冻结&x27;当主UI线程冻结时?,c#,windows,multithreading,user-interface,C#,Windows,Multithreading,User Interface,我看过很多关于为什么不使用Backgroundworkers会导致UI冻结的帖子,我理解这一点。但是,当这种情况发生时,我怎么能在几秒钟内不移动光标呢?我不确定线程是什么或者它是如何工作的,但肯定一个线程的工作负载不会影响另一个线程的响应。当然,Windows7游标与我的程序(4237或类似程序)不在同一线程上运行。这是一个复杂、可行的原因,还是我的电脑崩溃了?进程是在CPU上执行的程序的实例(一个进程可能由一个或多个线程组成)。如果一个线程占用CPU,那么其他进程将“饿死”。也就是说,他们将没

我看过很多关于为什么不使用Backgroundworkers会导致UI冻结的帖子,我理解这一点。但是,当这种情况发生时,我怎么能在几秒钟内不移动光标呢?我不确定线程是什么或者它是如何工作的,但肯定一个线程的工作负载不会影响另一个线程的响应。当然,Windows7游标与我的程序(4237或类似程序)不在同一线程上运行。这是一个复杂、可行的原因,还是我的电脑崩溃了?

进程是在CPU上执行的程序的实例(一个进程可能由一个或多个线程组成)。如果一个线程占用CPU,那么其他进程将“饿死”。也就是说,他们将没有分配足够的CPU时间来完成。线程是一个有趣的话题。有关更多信息,请在维基百科中搜索:线程、进程、饥饿或死锁。如果你想了解更多,可以读一本关于操作系统概念的书。我发现Abraham Silberschatz的操作系统概念特别有用(可以很容易地以pdf格式获得)。

“我几秒钟都不能移动光标”-我不确定这是完整的故事,即使是在单核处理器上,除非有多个运行线程的优先级高于UI线程,这不应该发生。”“几秒钟”是很长的时间。@MartinJames是的-我相信光标冻结与我的线程没有什么关系。当我在VisualStudio中调试时,它告诉我进程的数量大约为4000-6000([6480]进程:MyApplication.vshost.exe),我记得这是不正常的?