windows併發程式設計API(二)

2021-08-21 20:34:45 字數 1204 閱讀 1620

dword winapi waitforsingleobject(

_in_ handle hhandle,

_in_ dword dwmilliseconds

);

等待執行緒執行

返回引數

wait_abandoned

wait_object_0

執行緒退出

wait_timeout

等待時間到以後執行緒還未退出

wait_failed

函式執行失敗

void winapi exitthread(

_in_ dword dwexitcode

);

用於執行緒函式內部退出執行緒

bool winapi terminatethread(

_inout_ handle hthread,

_in_ dword dwexitcode

);

終止指定執行緒

bool winapi getexitcodethread(

_in_ handle hthread,

_out_ lpdword lpexitcode

);

獲取執行緒退出時的退出碼

例程:阻塞等待,執行緒自己主動退出,主線程獲取退出碼:

// windowsapi等待執行緒執行.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include #include using namespace std;

dword winapi threadfun(void* lpparameter)

return 0;

}int main()

主線程指定執行緒退出並獲取退出碼:

// windowsapi等待執行緒執行.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include #include using namespace std;

dword winapi threadfun(void* lpparameter)

return 0;

}int main()

windows併發程式設計API(四)

在使用涉及到crt儲存堆操作的crt庫函式中的多執行緒程式設計中,使用createthread來開始執行緒是很危險的,容易造成執行緒的意外終止,windows核心程式設計中推薦使用 beginthread beginthreadx和相對應的 endthread endthreadx函式 uintpt...

併發程式設計(二)

使得乙個物件在當前範圍之外可見。比如通過公開方法返回乙個物件的引用 通過類靜態變數公布物件.與之對應的是逸出,指不正確的發布物件,比如將乙個私有的物件發布出去,或者還沒有正確構造完成物件,此物件就已經對外部可見 共有四種方式安全地發布物件 在單例模式中,如何保證只例項化乙個物件並保證執行緒安全?下面...

windows程式設計(二)

本期,我們來通過對話方塊來顯示自己的螢幕水平和豎直方向上的解析度。include include include cdecl 是c declaration的縮寫 declaration,宣告 表示c語言預設的函式呼叫方法 所有引數從右到左依次入棧,這些引數由呼叫者清除,稱為手動清棧。被呼叫函式不會要...