线程模型有哪些?
发布时间:2022-09-02 15:35:00
发布人:wjy

IO共有四种模型:同步阻塞、同步非阻塞、异步阻塞、异步非阻塞 同步阻塞:系统内核做好读写数据的准备之前,用户线程一直等待。
同步非阻塞:用户线程使用一个循环不断询问内核是否准备就绪,在准备就绪以前会一直进行该循环。
异步阻塞:用户线程启动一个新的线程去同步阻塞,自己则做下一件事,新的线程不断询问系统内核并阻塞。
异步非阻塞:当用户线程收到通知时,数据已经被内核读取完毕,并放在了用户线程指定的缓冲区内,内核在IO完成后通知用户线程直接使用即可