A MessageLoop is used to process events for a particular thread, i.e. the core infrastructure for implementing Communicating Sequential Process (CSP) model.
There is at most one MessageLoop instance on a thread.
MessageLoop is a farily complex class, it driveds from multiple base classes:
1 2 3 4 5
classBASE_EXPORT MessageLoop : public MessagePump::Delegate, public RunLoop::Delegate, public MessageLoopCurrent { // omitted... };
MessageLoop Type
A MessageLoop has a particular type, differred by the set of asynchronous events it is capable of handling.