void sendMessage(const Message& msg) { std::unique_lock<std::mutex> lock(m_consumersMutex); std::vector<MessageConsumer*>::iterator iter = m_consumers.begin(); for ( ; iter!=m_consumers.end(); iter++ ) { MessageConsumer* consumer = *iter; consumer->receiveMessage(msg); } lock.unlock(); }