A queue has the JoinableQueue subclass. This provides the following methods:
- task_done(): This method indicates that a task is complete, for example, after using the get() method to fetch items from the queue. So task_done() must be used only by queue consumers.
- join(): This method blocks the processes until all the items in the queue have been completed and processed.