put_nowait(itemthe same as put(itemfalseq qsize(returns the approximate number of items currently in the queue the result of this function is not reliable because items may have been added or removed from the queue in between the time the result is returned and later used in program on some systemsthis method may raise an notimplementederror joinablequeue([maxsize]creates joinable shared process queue this is just like queue except that the queue allows consumer of items to notify the producer that the items have been successfully been processed the notification process is implemented using shared semaphore and condition variable an instance of joinablequeue has the same methods as queuebut it has the following additional methodsq task_done(used by consumer to signal that an enqueued item returned by get(has been processed valueerror exception is raised if this is called more times than have been removed from the queue join(used by producer to block until all items placed in queue have been processed this blocks until task_done(is called for every item placed into the queue the following example shows how you set up process that runs foreverconsuming and processing items on queue the producer feeds items into the queue and waits for them to be processed import multiprocessing def consumer(input_q)while trueitem input_q get(process item print(itemreplace with useful work signal task completion input_q task_done(def producer(sequenceoutput_q)for item in sequenceput the item on the queue output_q put(itemset up if _name_ =' _main_ ' multiprocessing joinablequeue(launch the consumer process cons_p multiprocessing process(target=consumer,args=( ,)cons_p daemon=true cons_p start(produce items sequence represents sequence of items to be sent to the consumer in practicethis could be the output lib fl ff