在Windows系统中,阻塞IO到任何设备(通过文件系统接口或其他方式访问)的工作方式是将IO请求发送到与设备关联的驱动程序,并附带一个事件对象句柄,然后通过等待该事件对象来阻塞调用线程。(当驱动程序完成IO时,事件会被标记为已发生)。因此,当线程执行阻塞IO时,它不会占用CPU,因为它只是在等待事件句柄。所有阻塞IO API都是以这种方式工作的,可能在实现上存在细微差别。