我正在写一个服务器网络。
每个连接都由一个单独的线程提供服务,所以我事先不知道线程的数量。
还有一组文本文件(也不知道数量),每个线程可以对每个文件进行读/写。
一个文件一次只能由一个线程写入,但不同的线程可以同时写入不同的文件。
如果一个文件被一个或多个线程读取(读取可以是并发的),则没有线程可以在该文件上写入。
现在,我注意到了这个(线程安全的多文件写入)解决方案,但我也想使用函数作为 fgets(),例如。
那么,我可以flock()一个文件,然后使用fgets() 或另一个stdio 读/写库函数吗?