2017-09-15 8 views
1

私は、Windows 7上でのpython 2.7マルチプロセッシングを使用しています:。Pythonのチェック()キュー()

import multiprocessing as mp 
from Queue import Queue 
from multiprocessing.managers import AutoProxy 

if __name__ == '__main__': 
    manager = mp.Manager() 
    myqueue = manager.Queue() 

    print myqueue 
    print type(myqueue) 
    print isinstance(myqueue, Queue) 
    print isinstance(myqueue, AutoProxy) 

を出力:

<Queue.Queue instance at 0x0000000002956B08> 
<class 'multiprocessing.managers.AutoProxy[Queue]'> 
False 
Traceback (most recent call last): 
    File "C:/Users/User/TryHere.py", line 12, in <module> print 
    isinstance(myqueue, AutoProxy) TypeError: isinstance() arg 2 must be a 
    class, type, or tuple of classes and types 

私の質問は:私はチェックしたいと思います変数がマルチプロセッシング・キューのインスタンスである場合、どのようにチェックする必要がありますか?

私が言及している:

Check for instance of Python multiprocessing.Connection?

Accessing an attribute of a multiprocessing Proxy of a class

が、彼らは私の問題に対処するように見えるいけません。前もって感謝します!

答えて

2

質問:私はどのように私はチェックして行く必要があり、変数はマルチプロセッシングキューのインスタンスであるかどうかを確認したいと思いますか?

それはmultiprocessing.managers.BaseProxyが一致し、プロキシオブジェクトです:Pythonのでテスト

from multiprocessing.managers import BaseProxy 
print(isinstance(myqueue, BaseProxy)) 
>>>True 

:3.4.2および2.7.9

関連する問題