PyQT (Qt バージョン: 4.8.3、PyQt バージョン 4.9.4) を使用して、膨大な数のページのスクリーンショットを作成しています。スレッド戦略を使用してパフォーマンスを向上させました。
それは数秒間 (約 30 秒) 魅力的なように機能し、突然、アプリは私の端末に奇妙な " select: Invalid argument " メッセージを送信します。
確かに、これは私のデバッグ メッセージの 1 つではありません。しかし、これは本当にランダムなので、どこで/なぜこれが起こっているのかを掘り下げることはできません.
これが役立つ場合は、スポーンするスレッドが多いほど、発生が速くなります。これはメモリの問題でしょうか?
これが役立つかどうかはわかりませんが、私が使用しているスポーン方法は次のとおりです。
def spawn(self):
worker = Worker() # this is a QObject
thread = QThread()
# When done, respawn a new thread
self.connect(worker, SIGNAL("done()"), self.spawn)
# And stop the related thread
self.connect(worker, SIGNAL("done()"), thread.quit)
self.threadsPool.append(thread) # Keep-alive
self.workersPool.append(worker) # Keep-alive
worker.moveToThread(thread)
thread.start()
worker.start("myfancydomain.com")
助けてくれてありがとう!