PythonマルチプロセスマルチプロセッシングLIFOキューの実装

multiprocessing.queueはFIFOに近く、LIFO実装は付属していません。LIFOを実装したい場合は、これまでに考えた方法を以下に示します。

より良い方法がある場合は、アドバイスしてください。

2つのアイデア:

1. mp.queueチームに入る前に、最初にチームに配置された要素をデキューして、毎回1​​つの要素だけがチームに配置されるようにします(最新の要素のみが毎回キューに格納されますが、これはLIFOによって部分的に実現されます)。

2. mp.queueチームを離れた後、queue.LifoQueueチームに入ります。2つのキューが連携してLIFO効果を実現します。

3. basemanager warpを使用して実装されますhttps ://stackoverflow.com/questions/33691392/how-to-implement-lifo-for-multiprocessing-queue-in-python

 

LIFOの逆順出力は、現在のキューにすでにある要素のシーケンスに対してのみ実行できます。すべての入力で出力が反転するという保証はありません。

逆順出力が発生すると、後続の要素が入力されないため、これらの要素の順序を逆にすることはできません。

公開された202元の記事 ウォン称賛80 ビュー30万+

おすすめ

転載: blog.csdn.net/qxqxqzzz/article/details/105101016