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

+ Recent posts