read和write线程的调度以及其原子性的思考

版权声明:版权所有,转载请注明出处 https://blog.csdn.net/songchuwang1868/article/details/88635381

常有文章说系统调用都具有原子性,这是有待商榷的。

一个read操作读取一个fd,在读取部分数据后,fd暂时没有数据,read会被阻塞,CPU自然会将其换出,调度其他进程进行操作。而很可能换入的进程也对同一个fd进行操作,这就导致了最开始的read读取的不是连续的数据。所以read的原子性在这种情况下是不能被保证的。

猜你喜欢

转载自blog.csdn.net/songchuwang1868/article/details/88635381