執行緒操作 取消執行緒

2021-07-02 02:28:42 字數 689 閱讀 7056

#include #include #include #include // 包含執行緒庫

void *thread_function(void *arg); // 定義執行緒函式原型

int main()

sleep(3); // 睡眠3秒

printf("取消執行緒...\n");

res = pthread_cancel(a_thread); // 傳送取消執行緒請求

if (res != 0)

printf("等待執行緒結束...\n");

res = pthread_join(a_thread, &thread_result); // 等待執行緒結束

if (res != 0)

exit(exit_success);

}void *thread_function(void *arg) // 定義執行緒函式細節

res = pthread_setcanceltype(pthread_cancel_deferred, null); // 定義執行緒結束的方式為採取一些動作後再結束

if (res != 0)

printf("執行緒函式正在執行\n");

for (i = 0; i < 10; i++)

pthread_exit(0);

}

posix執行緒 執行緒的取消

初看這個主題時,覺得實在簡單。在我印象中,執行緒取消的實現通常是宣告乙個全域性變數來代表取消標誌,乙個執行緒在最開始的大while中判斷該標誌是否被設定,如果被設定就跳出迴圈。但是這有乙個問題是,如果程式中有n個執行緒都有可能被取消,那麼我們是否要宣告n個全域性變數來單獨控制它們的取消?posix提...

執行緒取消點

執行緒取消 取消操作允許執行緒請求終止其所在程序總的任何其他執行緒。不需要執行緒執行進一步操作時,可以選擇取消操作。取消點 如果執行緒模式設定的是非同步模式的話,那只有到取消點才會取消執行緒。下面會講到兩種取消方式。那取消點有哪些呢?1 通過pthread testcancel 呼叫已程式設計方式建...

執行緒取消 pthread cancel

基本概念 pthread cancel呼叫並不等待執行緒終止,它只提出請求。執行緒在取消請求 pthread cancel 發出後會繼續執行,直到到達某個取消點 cancellationpoint 取消點是執行緒檢查是否被取消並按照請求進行動作的乙個位置.與執行緒取消相關的pthread函式 int...