執行緒的掛起與恢復

2022-02-10 15:25:59 字數 626 閱讀 5675

建立完乙個執行緒並啟動之後,還可以掛起、恢復、休眠或終止它,本節主要對執行緒的掛起與恢復進行講解。

執行緒的掛起與恢復分別可以通過呼叫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秒...