전공 공부/네트워크프로그래밍

커널 오브젝트의 두 가지 상

튼튼발자 2024. 5. 16. 12:02
728x90

커널 오브젝트는 2가지의 상태를 가지고 있다.

1. non-signaled 상태
-> 이벤트가 발생하지 않은 상태, 해당 리소스가 특정 상황에 이르지 않은 상태

2. signaled상태
-> 이벤트가 발생한 상태, 해당 리소스가 특정상황에 도달한 상태

ex) 프로세스나 쓰레드의 커널 오브젝트는 프로세스, 쓰레드 생성시에 non-signaled상태에 있다가, 종료 시에 signaled상태가 된다

 

커널 오브젝트의 상태 확인

함수가 값을 반환하기 위해서는 커널 오브젝트가 signaled상태가 되어야 한다.

signaled상태로 반환시에 WAIT_OBJECT_0 을 반환한다.

 

auto-reset 모드 커널 오브젝트 : 특정 커널 오브젝트가 signaled상태에서 non-signaled 상태로 자동으로 변경되는 커널 오브젝트

manual-reset 모드 커널 오브젝트 : non-signaled 상태에서 signaled 상태로 빠져나오면서 값이 그대로 signaled 상태로 유지되는 커널 오브젝트

 

728x90