## 博文

### Windows程序在实现线程池时要注意Overlapped IO是否完成

windows有个限制，异步IO操作是绑定在发起IO请求的线程上的。一旦发起者线程退出，那么这个IO操作也就会被取消，而且没有callback会被调用。

MSDN中的WSASend函数的文档中有这么一段话：
"All I/O initiated by a given thread is canceled when that thread exits. For overlapped sockets, pending asynchronous operations can fail if the thread is closed before the operations complete. "