5

リモートファイルシステム (NFS、SSHFS、または sambafs など) でファイルを読み書きする方法、またはエラーコードですぐに戻る方法でファイルを読み取る方法はありますか? 実際、私は Twisted を使用しており、リアクターをブロックせずにリモート ファイルにアクセスする安全な方法があるかどうかを知りたいです。

4

2 に答える 2

7

Twisted では、リモート ファイルシステムに対して、他のブロッキング コールと同様に、threads.deferToThreadを使用できます。これは、厄介なブロッキング syscall を処理するかなりエレガントな方法です!-)

于 2009-11-05T18:40:50.043 に答える
1

これは実際、私の質問hereと非常によく似ています。現在のところ、オペレーティング システムの制限を回避する唯一の方法は、スレッドまたは外部プロセスを使用してファイル IO を処理することです。

以前の人生 (非 Python またはねじれた、しかし非常に非同期) では、ファイル IO を本質的に「ファイル システム ワーカー」である別のデーモンに抽象化することになりました。

Linux の 2.6.x バージョンでは、カーネル レベルでの非同期 IO のサポートが追加されたように見えますが、libaioはそれをサポートしていますが、実際にサポートしているものはかなり難解で、かなり疑わしいように見えます。

于 2009-11-12T09:12:37.127 に答える