the concurrent queue class in the above diagram the main process waits for result to be returned from the queue following the call to the get(methodas it is waiting it is not using any system resources in turn the worker process sleeps for two seconds before putting some data onto the queue (via put('hello world')after this value is sent to the queue the value is returned to the main process which is woken up (moved out of the waiting stateand can continue to process the rest of the main function online resources see the following online resources for information discussed in this based barrierslocksconditionssemaphores and events process based barrierslocksconditionssemaphores and events exercises the aim of this exercise is to implement concurrent version of stack based container/collection it should be possible to safely add data to the stack and pop data off the stack using multiple threads