今天来上一堂语文课,大家跟我念:兹z武u,阻zu。丝s饿e,塞se。看还有哪个家伙读成阻zu塞sai的,还有谁不会念?
你还真的点开链接啦? 今天真的是一趟语文课,就教会大家正确念这两个字的姿势,看:
兹z武u,阻zu。
丝s饿e,塞se。
阻塞。
好吧,再来一点营养。阻塞是啥意思呢? 就是水管堵住了!扭开水龙头没有水出来。这个道理跟Linux下读取慢速设备(主要指管道和套接字)数据的情形非常相似,例如当我们在读取一个管道时,如果管道里面没有数据,那么我们什么都读不出来,于是就进入了所谓的“阻塞”状态了,说白了阻塞就是使得当前进程或者线程睡眠了的意思。
那么再进一步,什么时候会阻塞呢?下面的表格简单描述了这些清空:
其中,读者指的是对管道文件拥有读权限的进程或线程(注意不是正在读),写者指的是对管道文件拥有写权限的进程或线程(注意不是正在写)。除此之外,其实open()函数也会发生阻塞,比如用只读或者只写open一个管道文件的时候。因为一根只有出口或者只有入口的水管,是无法使用的呀!其实就是生活常识。嘿嘿!