sync()函数的作用

来源:互联网 发布:游戏制作软件有哪些 编辑:程序博客网 时间:2024/06/02 19:18

sync是C语言的一个库函数。调用sync可以将系统缓冲区(内存中)的数据写入到文件系统(磁盘)中。

头文件:#include<unistd.h>

函数定义:int sync(void);

返回值:当同步成功返回0,否则返回-1。

函数功能:将系统缓冲区中的内容写回磁盘,以确保数据同步


在操作系统中,除非设置了自动同步,否则为了减少磁盘的写入量,延长磁盘寿命,写入文件时并不是即时写入到磁盘中,而是先写入内存,这段内存区域被称为系统缓冲区。在系统缓冲区数据累计到一定数量后(具体数量因系统实际设置而定),会有系统进程一次性写入所有缓冲数据。这样,如果意外断电,那么系统缓冲区内数据就会因此丢失。于是在写入一些重要数据时,都会在写入结束后进行一次sync()的调用,保证数据已经被写入磁盘,降低数据丢失或损坏的可能性。





原创粉丝点击