线程
线程同步:线程按照次序依次协同运行。
在现代计算机系统中,存储器访问需要多个总线周期,多处理器的总线周期通常在多个处理器上是交叉的,所以无法保证数据时顺序一致的。如果是多进程或多线程需要进行线程间的同步。
可以通过使用互斥量来实现线程的同步,从而保证数据的一致性。
在使用互斥变量以前,必须首先对它进行初始化,对于静态分配的互斥量用静态的方式进行初始化,对于动态分配的互斥量(通过malloc)需要动态初始化,并且在释放内存前需要调用destroy。
标准I/O提供三种类型的缓冲
- 全缓冲:填满标准的I/O缓冲区后才进行实际的I/O操作。对于驻留在磁盘上的文件通常是由标准I/O库实施全缓冲。 术语 "冲洗" 说明I/O缓冲区的写操作,可以是系统自动冲洗,也可以调用fflush();
- 行缓冲:当在输入输出中遇到换行符时,标准I/O库执行实际的I/O操作,允许我们一次输入输出一个字符,但一行以后才执行操作, 当流涉及到一个终端时,通常使用行缓冲。
- 不缓冲:是指标准I/O库对字符不进行缓冲存储。