建立完乙個執行緒並啟動之後,還可以掛起、恢復、休眠或終止它,本節主要對執行緒的掛起與恢復進行講解。
執行緒的掛起與恢復分別可以通過呼叫thread類中的suspend方法和resume方法實現,下面對這兩個方法進行詳細介紹。
1.suspend方法
該方法用來掛起執行緒,如果執行緒已掛起,則不起作用。語法如下。
public void suspend ()
說明:呼叫suspend方法掛起執行緒時,.net允許要掛起的執行緒再執行幾個指令,目的是為了到達.net認為執行緒可以安全掛起的狀態。
2.resume方法
該方法用來繼續已掛起的執行緒,語法如下。
public void resume ()
說明:通過resume方法來恢復被暫停的執行緒時,無論呼叫了多少次suspend方法,呼叫resume方法均會使另乙個執行緒脫離掛起狀態,並導致該執行緒繼續執行。
例如,建立乙個控制台應用程式,其中通過例項化thread類物件建立乙個新的執行緒,然後呼叫start方法啟動該執行緒,之後先後呼叫suspend方法和resume方法掛起和恢復建立的執行緒。**如下。
static void main(string args)
public static void createthread()
執行緒的掛起與恢復
執行緒的掛起與恢復 缺點 什麼時候呼叫?掛起後的資源會存在,會發生一些不可預知問題!xthread.h pragma once ifdef xplatform exports define xplatform api declspec dllexport else define xplatform ...
linux中線程的掛起與恢復(程序暫停)
今天在網上查了一下linux中對程序的掛起與恢復的實現,相關資料少的可憐,大部分都是貼上複製。也沒有完整詳細的 故自己整理了一下 程式流程為 主線程建立子執行緒 當前子執行緒狀態為stop停止狀態 5秒後主執行緒喚醒子執行緒,10秒後主執行緒掛起子執行緒,15秒後主執行緒再次喚醒子執行緒,20秒後主...
linux中線程的掛起與恢復(程序暫停)
今 天在網上查了一下 linux中對程序的掛起與恢復的實現,相關資料少的可憐,大部分都是貼上複製。也沒有完整詳細的 故自己整理了一下 程式流程為 主線程建立子執行緒 當前子執行緒狀態為stop停止狀態 5秒後主執行緒喚醒子執行緒,10秒後主執行緒掛起子執行緒,15秒後主執行緒再次喚醒子執行緒,20秒...