Python 3パラレルプログラミングのqueueモジュール
2365 ワード
文書ディレクトリインポートモジュール の3種類のキュー queueモジュールの3つのクラス Queueオブジェクトをインスタンス化する方法 モジュールのインポート
インポートモジュールにサードパーティモジュールはありません
注意:queueはPythonの標準ライブラリです.このライブラリはPython 2でQueue、Python 3でqueueと呼ばれています.
3種類のキュー
Queueモジュールは、データのフェッチの順序だけを区別する3つのタイプのキューを実現します.FIFOキューで、先に追加したデータを先にフェッチします.LIFOキューで、後に追加したデータを取り出します.「≪優先度キュー|Priority Queue|emdw≫」では、入力キュー内のデータの最初の値が抽出されます.この値が数字であっても、アルファベットでも漢字でもunicode符号化値で優先順位がソートされ、値が小さいほど優先度が高くなり、抽出時に優先されます.どのキューでも、値を抽出すると、その値はキューから消去されます.
Queueモジュールの3つのクラス
この3つのクラスには、キューの長さを設定するmaxsizeパラメータが1つしかありません.
Queueクラスのオブジェクトをインスタンス化する方法
方法
説明
put(item,block=True,'timeout=None)
blockがTrueの場合、必要に応じてキューが使用可能になるまでブロックが発生します.timeoutが正数であれば、最大でtimeout秒をブロックし、ブロックが終了するとFull異常を引き起こす.blockがFalseの場合、timeoutは無視され、キューが使用できない場合にFull例外が発生します.
get(item,block=True,timeout=None)
blockがTrueの場合、必要に応じてキューが使用可能になるまでブロックが発生します.timeoutが正数であれば、最大でtimeout秒をブロックし、ブロックが終了するとEmpty異常を引き起こす.blockがFalseの場合、timeoutは無視され、キューが使用できない場合にEmpty例外が発生します.
put_nowait(item)
put(item,False)に相当します.
get_nowait(item)
get(item,False)に相当します.
qsize()
キューの現在のサイズを返します.qsizeメソッドの戻り値は、オペレーションキューがブロックされるかどうかを保証しません.
empty
キューが空の場合はTrueを返します.そうでない場合はFalseを返します.Emptyメソッドの戻り値は、オペレーションキューがブロックされるかどうかを保証しません.
full()
キューがいっぱいになったらTrueを返します.そうでなければFalseを返します.fullメソッドの戻り値は、オペレーションキューがブロックされるかどうかを保証しません.
task_done()
このメソッドの呼び出しは、キューに対するget操作が完了したことを示します.
join
キュー内のすべてのデータが取得するまでブロック状態を維持し、この方法はQueueである.task_done()メソッドの呼び出し回数を根拠に判断する.
import queue
インポートモジュールにサードパーティモジュールはありません
注意:queueはPythonの標準ライブラリです.このライブラリはPython 2でQueue、Python 3でqueueと呼ばれています.
3種類のキュー
Queueモジュールは、データのフェッチの順序だけを区別する3つのタイプのキューを実現します.FIFOキューで、先に追加したデータを先にフェッチします.LIFOキューで、後に追加したデータを取り出します.「≪優先度キュー|Priority Queue|emdw≫」では、入力キュー内のデータの最初の値が抽出されます.この値が数字であっても、アルファベットでも漢字でもunicode符号化値で優先順位がソートされ、値が小さいほど優先度が高くなり、抽出時に優先されます.どのキューでも、値を抽出すると、その値はキューから消去されます.
Queueモジュールの3つのクラス
# FIFO 。
queue_object = queue.FifoQueue()
# LIFO 。
queue_object = queue.LifoQueue()
# 。
queue_object = queue.PriorityQueue()
この3つのクラスには、キューの長さを設定するmaxsizeパラメータが1つしかありません.
Queueクラスのオブジェクトをインスタンス化する方法
方法
説明
put(item,block=True,'timeout=None)
blockがTrueの場合、必要に応じてキューが使用可能になるまでブロックが発生します.timeoutが正数であれば、最大でtimeout秒をブロックし、ブロックが終了するとFull異常を引き起こす.blockがFalseの場合、timeoutは無視され、キューが使用できない場合にFull例外が発生します.
get(item,block=True,timeout=None)
blockがTrueの場合、必要に応じてキューが使用可能になるまでブロックが発生します.timeoutが正数であれば、最大でtimeout秒をブロックし、ブロックが終了するとEmpty異常を引き起こす.blockがFalseの場合、timeoutは無視され、キューが使用できない場合にEmpty例外が発生します.
put_nowait(item)
put(item,False)に相当します.
get_nowait(item)
get(item,False)に相当します.
qsize()
キューの現在のサイズを返します.qsizeメソッドの戻り値は、オペレーションキューがブロックされるかどうかを保証しません.
empty
キューが空の場合はTrueを返します.そうでない場合はFalseを返します.Emptyメソッドの戻り値は、オペレーションキューがブロックされるかどうかを保証しません.
full()
キューがいっぱいになったらTrueを返します.そうでなければFalseを返します.fullメソッドの戻り値は、オペレーションキューがブロックされるかどうかを保証しません.
task_done()
このメソッドの呼び出しは、キューに対するget操作が完了したことを示します.
join
キュー内のすべてのデータが取得するまでブロック状態を維持し、この方法はQueueである.task_done()メソッドの呼び出し回数を根拠に判断する.