728x90
알림 가능한 상태
- I/O 연산이 완료되면 완료 루틴을 실행해야 하는데 이 완료 루틴이 실행되는 타이밍을 결정지을 수 있음
- SleepEx를 함수를 호출하고 두 번째 인자를 TRUE로 설정하면 그 쓰레드는 알림 가능한 상태(Alertable State)가 되고 완료 루틴을 실행하라고 알려주게 됨
DWORD SleepEx(
DWORD dwMilliseconds,
BOOL bAlertable
);
APC(비동기 함수 호출 메커니즘)
- 모든 쓰레드는 자신만의 APC Queue를 소유
- APC Queue : 쓰레드가 알람 가능한 상태가 되었을 때 호출할 함수를 모아놓은 Queue
- QueuUserAPC : APC Queue에 호출하고자 하는 함수 정보 전달
DWORD QueueUserAPC(
PAPCFUNC pfnAPC,
HANDLE hThread,
ULONG_PTR dwData
);
728x90
'Programming > System Programming' 카테고리의 다른 글
윈도우즈 시스템 프로그래밍 - 20. 메모리 관리(2) (0) | 2020.08.23 |
---|---|
윈도우즈 시스템 프로그래밍 - 20. 메모리 관리(1) (0) | 2020.08.23 |
윈도우즈 시스템 프로그래밍 - 19. 비동기 I/O와 APC(3) (0) | 2020.08.22 |
윈도우즈 시스템 프로그래밍 - 19. 비동기 I/O와 APC(2) (0) | 2020.08.19 |
윈도우즈 시스템 프로그래밍 - 19. 비동기 I/O와 APC(1) (0) | 2020.08.18 |