开始今天的内容之前,我们需要了解几个知识点: 第一点:缓冲区 看下面一段代码(Linux下运行程序) 对比上边的代码,似乎相差不大,但是运行结果却千差万别:A图代码运行结果---先输出“hello”,停3秒之后程序运行完毕;B图代码运行结果---执行程序后会先停3秒,然后再输出“hello”。差异如此大的原因与我们所学习的有关于缓冲区的知识是有关系的。 首先我们需要知道缓冲区的三种缓冲方式:全缓冲、行缓冲、无缓冲。对于一个shell中运行的程序,默认的输出方式就是控制台,并且控制台使用的是行缓冲的方式,也就是说当遇到换行符 '\n' 或者写满一行后后,就刷新一遍缓冲区的内容