先理解阻塞与非阻塞。阻塞就是由于工作不能立刻完成,进程放弃cpu,非阻塞就是任务不能立刻完成,函数直接返回或者一直轮询操作。
起初想不明白如果对文件的可读进行poll的话,如果没有数据,进程就会睡眠从而引起切换,这不是典型的阻塞吗?后来想了下,poll虽然拥塞了,但对于之后的read而言,只有当有数据写入时,poll才会返回,read就可以顺利执行而不必睡眠,对read而言是阻塞的
先理解阻塞与非阻塞。阻塞就是由于工作不能立刻完成,进程放弃cpu,非阻塞就是任务不能立刻完成,函数直接返回或者一直轮询操作。
起初想不明白如果对文件的可读进行poll的话,如果没有数据,进程就会睡眠从而引起切换,这不是典型的阻塞吗?后来想了下,poll虽然拥塞了,但对于之后的read而言,只有当有数据写入时,poll才会返回,read就可以顺利执行而不必睡眠,对read而言是阻塞的