错开一个项目的资源繁重的运营?

时间:2011-12-31 01:15:00

标签: c# multitasking

当从大文件中写入或读取时,我使用的许多业余程序最终都会冻结,考虑到它正在读取或写入的文件的大小,这是可以理解的。当在Windows中移动文件解压缩程序或类似程序时,程序永远不会冻结,您可以移动窗口或取消操作。

这是怎么做到的?它们是否在操作中间歇性暂停以允许计算按钮按压或窗口移动而不是将其添加到大型操作的末尾?如果是这样,这是怎么做到的?

1 个答案:

答案 0 :(得分:2)

程序很好,程序会产生多个threads of control。一个线程负责Windows message loop所以调整大小,重新绘制,重绘,最小化/最大化等都以视觉上令人愉悦的方式处理点击“取消”按钮可以中断其他控制线程,用于管理计算密集型或IO密集型操作。