暫停線程執行
線程可以暫停並繼續執行另一個線程。 當線程暫停時,不會安排在處理器上執行的時間。
如果線程是以暫止狀態建立的(具有 CREATE_SUSPENDED 旗標),它不會開始執行,直到另一個線程呼叫 具有暫止線程句柄的 resumeThread 函式為止。 這對於開始執行線程之前初始化線程的狀態很有用。 在建立時暫停執行緒對於一次性同步處理很有用,因為這可確保當您呼叫 ResumeThread 時,暫停的執行緒會執行其程式碼的起始點。
SuspendThread 函式不適合用於線程同步處理,因為它不會控制線程執行暫停的程式碼中的點。 此函式主要設計供偵錯工具使用。
線程可以藉由呼叫 Sleep 或 SleepEx 函式,暫時產生其指定間隔的執行。這特別適用於線程回應使用者互動的情況,因為它可能會延遲執行時間夠長,讓使用者能夠觀察其動作的結果。 在睡眠間隔期間,線程不會排程在處理器上的時間。
SwitchToThread 函式類似於 Sleep 和 SleepEx,但您無法指定間隔。 SwitchToThread 可讓線程放棄其時間配量。