WSP25

LJM·2023년 8월 14일
0

컴퓨터지식

목록 보기
26/41

Signaled vs Non-Signaled

커널 오브젝트의 두가지 상태(State)
Signaled(신호를 받은 상태)
Non-Signaled(신호를 받지 않은 상태)

커널오브젝트의 변수가 State 저장

프로세스 커널 오브젝트의 상태(State)에 대한 이해

상태가 변하는 시점은 커널오브젝트의 종류에 따라서 다르다

커널 오브젝트 처음 생성되면 Non-Signaled 상태
프로세스 종료되면 Signaled 상태가 된다

커널 오브젝트의 두 가지 상태를 확인하는 용도의 함수

커널 오브젝트의 상태정보가 주는 이점은?

DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds)

hHandle : 커널 오브젝트 핸들
dwMilliseconds : 커널오브젝트 Signaled 상태가 될때까지 최대 기다릴수 있는 시간
INFINITE 로 전달하면 무한정 기다린다

WaitForSingleObject 함수가 반환되는 상황
WAIT_OBJECT_0 커널 오브젝트가 Signaled 상태가 되었음
WAIT_TIMEOUT 커널 오브젝트가 Signaled 상태가 되지 않고 설정된 시간이 다 되었음
WAIT_ABLANDONED 소유 관계와 관련하여 정상적이지 못한 오류 발생

DWORD WaitForMultipleObjects 다수의 커널오브젝트 Signaled상태 기다리는 함수

모두 Signaled 상태, 하나라도 Signaled 상태일때 반환할 것인지 선택가능하다

profile
게임개발자 백엔드개발자

0개의 댓글