2012-03-01 1 views
1

私は2つの着信ストリーミングを持っていますが、どちらも大きくなっています。 最初のデータをフラッシュすることはできますか?ファイルの位置1から512 に、もう1つを513から1023に変更できますか? 両方のストリームが並行して になっていることに注意してください。Pythonはロックやmutexを使わずにファイルを並列に書くことができますか?

ありがとうございました!

+0

同時実行がとても重要ですなら、なぜあなたはMMAPを使用していませんか? –

+0

グローバルインタープリタロックをルックアップします。 Pythonは実際に並行性を持っていません... – Endophage

+0

@Endophage:I/OファイルであるCコードをヒットするとすぐに行います。 –

答えて

1

確かに実行できます。正しい結果が保証されていますか?いいえ、Ignacioの示唆どおりにロックまたはmmapを使用してください。ここで

はあまりにも良い議論だ:Python multiple threads accessing same file

1

あなたがパラレルで何を意味するのか正確にはわかりませんが、同じファイルが開いている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 
関連する問題