我需要在多个线程中读取文件,并且我需要确保一次只有一个线程正在读取文件。对于非压缩文件,我使用
void Process_File(FILE* Input_File)
{
flockfile(Input_File);
....Do stuff
funlockfile(Input_File);
}
有没有办法在zlib中锁定文件。即如果Input_File
属于gzFile
类型,我该如何锁定它。我目前的想法是像往常一样打开文件并在zlib例程中锁定它。这是否会确保该文件将被其他线程使用zlib锁定以供读取?