如果fwrite
&fclose
从两个线程并行调用相同的文件描述符会发生什么?
问问题
3579 次
3 回答
9
POSIX 要求FILE
访问是线程安全的,但由于fclose
关闭文件并使指针无效,因此没有办法(即,这不仅仅是规范问题,而是永远无法“修复”或消失的基本 API 问题)fclose
当另一个线程可能正在访问FILE
静止时使用。您需要自己进行锁定。
于 2010-09-10T16:14:47.823 回答
4
fwrite
并对数据结构fclose
进行操作。FILE
由于这是一个较大的数据结构,它存储的不仅仅是文件描述符,答案是坏事。
除非您确保使用互斥锁进行原子操作,否则不要这样做。
于 2010-09-10T14:01:30.177 回答
-4
对于这种情况,您需要定义方法的优先级。您可以使用“同步”控制方法。
于 2010-09-10T14:05:04.647 回答