多个文件描述符到同一个文件,C

Gig*_*igi 7 multithreading file file-descriptor fclose

我有一个打开并读取相同文件(不写入)的多线程应用程序.我为每个线程打开一个不同的文件描述符(但它们都指向同一个文件).然后每个线程读取文件并关闭它并在达到EOF时再次打开它.这个可以吗?如果我对文件描述符执行fclose()会影响指向同一文件的其他文件descritptors吗?

小智 5

对于 Linux 系统,您不需要多个文件描述符来执行此操作。您可以共享单个文件描述符并使用pread以原子方式执行查找/读取操作,而根本无需修改文件描述符。


Pab*_*ruz 3

没关系。您可以随时打开同一个文件,并且每个文件描述符将彼此独立。