如果所有线程都写入不同的位置,多个线程可以同时写入文件吗?

Inv*_*tus 7 c++

我用c ++编写代码.我可以遇到任何种类的竞争条件或故障吗?

Dav*_*nan 6

从底层系统的角度来看这是没有问题的(对于我所知道的所有系统).但是,通常需要具有完全独立的文件描述符/句柄.这是因为文件描述符维护状态,例如当前文件位置.

您还需要检查特定C++接口与您正在使用的文件系统的线程安全性.除了底层文件系统的线程安全性之外,还需要这样做.

您还应该考虑线程I/O可能会变慢的可能性.系统可能必须序列化对总线的访问.您可以通过重叠I/O或通过生产者/消费者管道提供的专用I/O线程获得更好的性能.