Producer Consumer implementation using ArrayBlockingQueue.