2011-08-31 176 views
0

在VB.NET中可以暂停和恢复进程吗?暂停/恢复线程?

我想完全暂停一个进程或外部线程。

+0

我不明白你的问题:你需要在你的应用程序中暂停外部进程或内部线程吗? – Marco

+0

你在说VB6或VB.NET吗? – Marco

回答

0

这是做你需要什么(我认为)的正确方法。
您必须对目标进程的所有线程调用ResumeThread()SuspendThread()(API函数)...

2

警告:.Suspend()现在已经贬值。原因是挂起另一个线程甚至不是安全的。

让我们说低级别的某个地方,有一个线程执行一些重要的操作,如写入字节,现在您继续并在线程完成该字节范围之前暂停线程?它可能会暂停,直到你可能导致破坏性结果的Resume()。

随着中说:

Thread.Sleep(Time in ms) 

暂停当前线程的毫秒x量。

如果您正在寻找暂停当前线程然后

Thread.CurrentThread.Suspend() 

,并简历当前线程

Thread.CurrentThread.Resume() 

您需要将命名空间导入到按原样使用此代码。

Imports System.Threading 

或将其更改为

System.Threading.Thread.CurrentThread.Suspend() 

要小心,如果你不是多线程和处理自己的线程,我不建议这样做。为什么MS贬低代码是有原因的。记住这一点。