title: "**커널 객체를 이용한 쓰래드 동기화(1) - 기본 사항**"
description: "**커널 객체를 이용한 쓰래드 동기화(1) - 기본 사항**"
cleanUrl: /sw-engineer/therad-synchronization-basic
ogImage: ""
floatFirstTOC: right

제프리 릭터의 Programming Applications for Microsoft Windows. (4th Editon) 에 담긴 내용입니다.

//객체 하나에 대해서 대기
DWORD WaitForSingleObject(
    HANDLE hObject,
    DWORD dwMilliseconds);

//여러 객체에 대해서 대기
DWORD WaitForMultipleObjects(
    DWORD dwCount,
    CONST HANDLE* phObjects,
    BOOL fWaitAll,
    DWORD dwMilliseconds);

// fWaitAll : TRUE일 경우, 모든 커널 객체가 신호 상태가 될 경우에만 호출자 쓰래드가 실행된다. FALSE일 경우에는 커널 객체중 하나만이라도 신호 상태가 되면 호출자 쓰래드가 실행된다.

// 반환 값
// WAIT_OBJECT_0, WAIT_TIMEOUT, WAIT_FAILED