2

私はmultiprocessingWindows 上の Python 2.7 でモジュールを使用しており、複数のプロセスでデータを共有キューに出し入れしています。これを行うためにサブクラス化し、 によって作成されたキュー プロキシを引数としてmultiprocessing.Processに渡します。SOに関する他の回答では、人々がこのキュープロキシを引数として渡すのを見てきましたが、メソッドに引数として渡そうとすると、エラーが発生します:multiprocessing.Manager()__init__map_async__init__

TypeError: Pickling an AuthenticationString object is disallowed for security reasons

したがって、Windows では、サブクラスをインスタンス化するために渡すものはProcesspickle 対応でなければならず、これらの共有オブジェクトには authkey が必要であることを理解しています (これにより、pickling が防止されます)。しかし、なぜそのキュー プロキシをサブクラスmap_asyncではなくに与えることができるのでしょうか? サブクラスを関数としてProcess書き直す以外に、これを回避する良い方法はありますか?Process

4

1 に答える 1