2011-08-31 255 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貶低代碼是有原因的。記住這一點。