0

Pythonを使用してクリアクエストサーバーからデータを抽出するツールを実装しました。clearquest で多くの検索を行う必要があるため、スレッドを使用して実装しました。そのために、スレッドごとに個別の clearquest セッションを開こうとします。これを実行しようとすると、実行時エラーが発生し、clearquest セッションが正しく開かれません。

インターネットで少し調べたところ、Python の Global Interpretor Lock が原因であることがわかりました。このGILを克服する方法を知りたい...どんなアイデアでも大歓迎です

4

2 に答える 2

3

スレッドを使用する代わりに、異なるプロセスを使用し、ある種のIPCを使用して各プロセス間で通信します。

于 2012-08-17T12:11:16.437 に答える
2

GIL が原因で RuntimeErrors が発生することはないと思います。トレースバックを貼り付けてもらえますか? コードに再入可能ではない重要な部分がある場合は、いくつかの同時実行プリミティブを使用してそれらを分離する必要があります。

GIL の主な問題は、計算を強制的にシリアル化することです。その結果、スループットとスケーリングが低下します。

于 2012-08-17T12:15:42.330 に答える