fwrite
&fclose
が同じファイル記述子に対して 2 つのスレッドから並行して呼び出されるとどうなりますか?
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 に答える