Dip*_*pak 5 c++ multithreading
我正在开发一个程序,它使用多个std::ifstreams来读取二进制文件,std::ifstream每个线程一个.现在我需要知道,如果std::ofstream在Windows和Linux上是线程安全的,那么在同一个文件中写入.我只使用一个std::ofstream并使用多个线程.
我读通过利用每个线程和写作使用的输出文件的块不同的块seekp()和write().目前它对我有用,但它是否对大文件有问题.
是std::ofstream线程安全的?
如果我没有误解你 - 不,标准库中没有任何东西是线程安全的(除了std::thread特定的东西,当然(从C++ 11及更高版本)).您需要其他同步.
更多 - 如果有多个进程,读取/写入这些文件,您需要锁定文件,以同步访问.