@Override
	public void run() {
		while (true) {
			try {
				blocker.acquire();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			String msg;
			synchronized(this) {
				msg = messages.remove();
			}
			outputMessage(msg);
		}
	}