[ace-users] which reactor implementations are safe to run_reactor_event_loop in multithreads ?

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Tue Jun 19 10:47:27 CDT 2007


>Version: 5.5.8
>host: windows xp sp2, suse linux enterprise server 9 sp2
>compiler: vs.net 2003, gcc 3.3.3
>recently I am looking APG=E3=80=81C++NPv1 and C++ NPv2, I note that there a=
>som reactor implementations which can run_reactor_event_loop in
>multithreads but some can't.
>for example:
>ACE_Select_Reactor can
>but ACE_WFMO_Reactor can not, right ?

No, you have it backwards.  ACE_Select_Reactor can't call
run_reactor_event_loop() in multiple threads, but ACE_WFMO_Reactor and
ACE_TP_Reactor can be called in multiple threads.

>My question is:
>of  all the reactor implementations, is there a summary describes
>which reactor implementation is thread safe ?

The documentation for each reactor should explain whether its
handle_events() can safely be run in multiple threads (if not, the
documentation should be updated).  As far as I know, only the
ACE_TP_Reactor and ACE_WFMOReactor can be run in multiple threads.

Take care,

Dr. Douglas C. Schmidt                       Professor and Associate Chair
Electrical Engineering and Computer Science  TEL: (615) 343-8197
Vanderbilt University                        WEB: www.dre.vanderbilt.edu/~schmidt
Nashville, TN 37203                          NET: d.schmidt at vanderbilt.edu

More information about the Ace-users mailing list