2011-12-30 15 views
4

とSQLiteのデータベースに私は私のGUI PythonアプリケーションのためのSQLiteを使用したいが、私は私のプログラムのパフォーマンスに影響を与えることなく、データベースごとに500 MSを更新する必要があります。のデータの書き込みを繰り返してのpython

私は、だから私はQThreadを使用して考えたが、それに対処するのは難しいと思われるので、それは実際にそれを理解しようとする前に、最善の方法だった場合、私は疑問に思い、PyQt4を使用しています。

私の質問は次のとおりです。でも、スレッドを使用してか、タイマーであなたがすることができなくなり、Pythonの実装はGILに依存しているという事実によるとQThreadは、最良の方法であるか、他の方法があります

+1

私はQTに本当にないんだけど(特にマルチコア環境で)応答性の項の方が良いかもしれません。しかし、あなたはQTimerでそれを行うことはできませんか? –

+0

QTimerがパフォーマンスに悪影響を与える恐れがあります。 – eyadof

+0

私はあなたが「私のプログラムのパフォーマンス」で巨大なデシベル... –

答えて

1

?プログラムのグローバルなパフォーマンスに影響を及ぼさずに、(潜在的に高価な)何かをあなたのプログラムに加えることができます。

この制限を回避するには、multiprocessingモジュールをお探しください。このモジュールを使用すると、スレッド(GILの影響を受ける)ではなくプロセス(GILの影響を受けないスレッド)は使用されなくなります。

たぶん、あなたは、メインプロセスが彼の仕事を続けるとき、更新ごとに500ミリ秒を作るためにタイマーを武装されますサブプロセスを作成することができます。

その後、あなたは、システムがプログラムのバランスをとるの仕事をするようになると、それは

関連する問題