私は2つの着信ストリーミングを持っていますが、どちらも大きくなっています。 最初のデータをフラッシュすることはできますか?ファイルの位置1から512 に、もう1つを513から1023に変更できますか? 両方のストリームが並行して になっていることに注意してください。Pythonはロックやmutexを使わずにファイルを並列に書くことができますか?
ありがとうございました!
私は2つの着信ストリーミングを持っていますが、どちらも大きくなっています。 最初のデータをフラッシュすることはできますか?ファイルの位置1から512 に、もう1つを513から1023に変更できますか? 両方のストリームが並行して になっていることに注意してください。Pythonはロックやmutexを使わずにファイルを並列に書くことができますか?
ありがとうございました!
確かに実行できます。正しい結果が保証されていますか?いいえ、Ignacioの示唆どおりにロックまたはmmapを使用してください。ここで
はあまりにも良い議論だ:Python multiple threads accessing same file
あなたがパラレルで何を意味するのか正確にはわかりませんが、同じファイルが開いている2つの異なるファイルオブジェクトに書き込むことができます。スレッドやイベントループを使用しているかどうかは関係ありません。
>>> f1 = open("/tmp/foo", "a")
>>> f2 = open("/tmp/foo", "a")
>>> f1.write("a\n")
>>> f2.write("b\n")
>>> f1.close()
>>> f2.close()
>>> print open("/tmp/foo").read()
a
b
同時実行がとても重要ですなら、なぜあなたはMMAPを使用していませんか? –
グローバルインタープリタロックをルックアップします。 Pythonは実際に並行性を持っていません... – Endophage
@Endophage:I/OファイルであるCコードをヒットするとすぐに行います。 –