multiprocessing.Queue is a method that creates queues, so you should use it as a function my_queue = Queue() .
>>> from multiprocessing import Queue >>> type(Queue) <class 'method'>
As you can see, this is not a “type” that you would use for a subclass.
If you want to implement your own queue, you can take a look at queue.Queue
EDIT:
If you want to subclass a queue from multiprocessing, use multiprocessing.queues.Queue instead, which is the type of object returned by multiprocessing.Queue()
source share