Thursday, March 27, 2008

When you build your own asynchronous I/O

직접 비동기 I/O를 구현해야하는 경우는 성능이나 특별히 수행해야하는 작업이 있을 때 인데, 참 고루한 작업이 되겠지만, 왠만하면 안하는게 좋겠지만, 어쩔 수 없이 해야한다면 아래와 같은 순서로 하자
  1. 모든 I/O 를 처리할 worker thread를 만든다.
  2. work queue에 I/O 작업을 할당할 수 있는 interface를 만든다.
  3. 각각의 thread가 큐에서 작업을 가져와 수행할 수 있도록 해준다.
  4. 작업이 마쳐지면 result queue에 결과를 얹어 놓게 한다.
  5. result queue에서 상태를 가져와 요청 루틴에 결과값을 반환하는 interface를 만든다.

No comments:

Post a Comment