私のコードにはリストをチェックするループがあり、リストに項目がある場合は処理してリストから削除します。項目は、別のスレッドによって継続的にリストに挿入されます。スレッディングを使用しながらリストを処理する
while True:
for item in list:
Process(item)
Remove(item)
問題1:ここでは
はコードである
私は作品の上に持っている何が、問題は、それはCPUに非常に集中的であるということです。
私は 'time.sleep'のようなコードをコードに入れることができますが、このプログラムはリスト内の項目をただちに処理する必要があります。どのようにしてCPUの負荷を減らすか(私は同時に別のスレッドを実行していることに注意してください)。
問題2:
私はリストが空の場合に実行されているから、ループを停止し、何かがリストに追加されたときに処理を継続します。これをどうやって行うのですか?
私は理解していません、問題を説明できますか? – martriay
私はあなたが意味するものを理解している場合は、タイムアウト機能を使用することができます。 –
私はちょうど問題の先端を入れる –