Introduction - If you have any usage issues, please Google them yourself
Thanks to those of you who take the time to re ad through the article. If you feel like droppin g off a vote (and particularily if it's a low one). please include a comment which mentions what th e problem was : ) I've been getting mostly high votes for this art icle, apart from the odd one's or two's. and I'd really like to know what bothered those gift ters the most. Feedback is what drives improvem ent :)
Packet : 55593387threadsynch_src.zip filelist
ThreadSynch/
ThreadSynch/API_DOCS.html.lnk
ThreadSynch/Doxyfile
ThreadSynch/html/
ThreadSynch/html/annotated.html
ThreadSynch/html/class_async_caller-members.html
ThreadSynch/html/class_async_caller.html
ThreadSynch/html/class_async_caller__coll__graph.dot
ThreadSynch/html/class_async_caller__coll__graph.md5
ThreadSynch/html/class_callback_info-members.html
ThreadSynch/html/class_callback_info.html
ThreadSynch/html/class_callback_info_1_1_functor_saver-members.html
ThreadSynch/html/class_callback_info_1_1_functor_saver.html
ThreadSynch/html/class_critical_section-members.html
ThreadSynch/html/class_critical_section.html
ThreadSynch/html/class_exception_expecter.html
ThreadSynch/html/class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4-members.html
ThreadSynch/html/class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4.html
ThreadSynch/html/class_picup_policy_provider.html
ThreadSynch/html/class_thread_base-members.html
ThreadSynch/html/class_thread_base.html
ThreadSynch/html/class_thread_synch_1_1_a_p_c_pickup_policy-members.html
ThreadSynch/html/class_thread_synch_1_1_a_p_c_pickup_policy.html
ThreadSynch/html/class_thread_synch_1_1_a_p_c_pickup_policy__coll__graph.dot
ThreadSynch/html/class_thread_synch_1_1_a_p_c_pickup_policy__coll__graph.md5
ThreadSynch/html/class_thread_synch_1_1_a_p_c_pickup_policy__inherit__graph.dot
ThreadSynch/html/class_thread_synch_1_1_a_p_c_pickup_policy__inherit__graph.md5
ThreadSynch/html/class_thread_synch_1_1_call_handler-members.html
ThreadSynch/html/class_thread_synch_1_1_call_handler.html
ThreadSynch/html/class_thread_synch_1_1_call_scheduler-members.html
ThreadSynch/html/class_thread_synch_1_1_call_scheduler.html
ThreadSynch/html/class_thread_synch_1_1_call_scheduler__coll__graph.dot
ThreadSynch/html/class_thread_synch_1_1_call_scheduler__coll__graph.md5
ThreadSynch/html/class_thread_synch_1_1_call_scheduling_failed_exception-members.html
ThreadSynch/html/class_thread_synch_1_1_call_scheduling_failed_exception.html
ThreadSynch/html/class_thread_synch_1_1_call_timeout_exception-members.html
ThreadSynch/html/class_thread_synch_1_1_call_timeout_exception.html
ThreadSynch/html/class_thread_synch_1_1_functor_retval_binder-members.html
ThreadSynch/html/class_thread_synch_1_1_functor_retval_binder.html
ThreadSynch/html/class_thread_synch_1_1_pickup_policy_provider-members.html
ThreadSynch/html/class_thread_synch_1_1_pickup_policy_provider.html
ThreadSynch/html/class_thread_synch_1_1_pickup_policy_provider__inherit__graph.dot
ThreadSynch/html/class_thread_synch_1_1_pickup_policy_provider__inherit__graph.md5
ThreadSynch/html/class_thread_synch_1_1_pickup_scheduling_failed_exception-members.html
ThreadSynch/html/class_thread_synch_1_1_pickup_scheduling_failed_exception.html
ThreadSynch/html/class_thread_synch_1_1_unexpected_exception-members.html
ThreadSynch/html/class_thread_synch_1_1_unexpected_exception.html
ThreadSynch/html/class_thread_synch_1_1_w_m_pickup_policy-members.html
ThreadSynch/html/class_thread_synch_1_1_w_m_pickup_policy.html
ThreadSynch/html/class_thread_synch_1_1_w_m_pickup_policy__coll__graph.dot
ThreadSynch/html/class_thread_synch_1_1_w_m_pickup_policy__coll__graph.md5
ThreadSynch/html/class_thread_synch_1_1_w_m_pickup_policy__inherit__graph.dot
ThreadSynch/html/class_thread_synch_1_1_w_m_pickup_policy__inherit__graph.md5
ThreadSynch/html/doxygen.css
ThreadSynch/html/doxygen.png
ThreadSynch/html/files.html
ThreadSynch/html/functions.html
ThreadSynch/html/functions_func.html
ThreadSynch/html/functions_type.html
ThreadSynch/html/functions_vars.html
ThreadSynch/html/globals.html
ThreadSynch/html/globals_defs.html
ThreadSynch/html/globals_enum.html
ThreadSynch/html/globals_eval.html
ThreadSynch/html/globals_func.html
ThreadSynch/html/globals_vars.html
ThreadSynch/html/graph_legend.dot
ThreadSynch/html/graph_legend.html
ThreadSynch/html/hierarchy.html
ThreadSynch/html/index.html
ThreadSynch/html/inherits.html
ThreadSynch/html/inherit__graph__0.dot
ThreadSynch/html/inherit__graph__0.md5
ThreadSynch/html/namespacemembers.html
ThreadSynch/html/namespacemembers_enum.html
ThreadSynch/html/namespacemembers_eval.html
ThreadSynch/html/namespacemembers_func.html
ThreadSynch/html/namespaces.html
ThreadSynch/html/namespacestd.html
ThreadSynch/html/namespace_thread_synch.html
ThreadSynch/html/namespace_thread_synch_1_1details.html
ThreadSynch/html/stdafx_8cpp.html
ThreadSynch/html/stdafx_8cpp__incl.dot
ThreadSynch/html/stdafx_8cpp__incl.md5
ThreadSynch/html/stdafx_8h.html
ThreadSynch/html/stdafx_8h__dep__incl.dot
ThreadSynch/html/stdafx_8h__dep__incl.md5
ThreadSynch/html/stdafx_8h__incl.dot
ThreadSynch/html/stdafx_8h__incl.md5
ThreadSynch/html/tabs.css
ThreadSynch/html/tab_b.gif
ThreadSynch/html/tab_l.gif
ThreadSynch/html/tab_r.gif
ThreadSynch/html/_async_caller_8cpp.html
ThreadSynch/html/_async_caller_8cpp__incl.dot
ThreadSynch/html/_async_caller_8cpp__incl.md5
ThreadSynch/html/_async_caller_8h.html
ThreadSynch/html/_async_caller_8h__dep__incl.dot
ThreadSynch/html/_async_caller_8h__dep__incl.md5
ThreadSynch/html/_async_caller_8h__incl.dot
ThreadSynch/html/_async_caller_8h__incl.md5
ThreadSynch/html/_a_p_c_pickup_policy_8h.html
ThreadSynch/html/_a_p_c_pickup_policy_8h__dep__incl.dot
ThreadSynch/html/_a_p_c_pickup_policy_8h__dep__incl.md5
ThreadSynch/html/_a_p_c_pickup_policy_8h__incl.dot
ThreadSynch/html/_a_p_c_pickup_policy_8h__incl.md5
ThreadSynch/html/_callback_info_8h.html
ThreadSynch/html/_callback_info_8h__dep__incl.dot
ThreadSynch/html/_callback_info_8h__dep__incl.md5
ThreadSynch/html/_call_handler_8h.html
ThreadSynch/html/_call_handler_8h__dep__incl.dot
ThreadSynch/html/_call_handler_8h__dep__incl.md5
ThreadSynch/html/_call_handler_8h__incl.dot
ThreadSynch/html/_call_handler_8h__incl.md5
ThreadSynch/html/_call_scheduler_8h.html
ThreadSynch/html/_call_scheduler_8h__dep__incl.dot
ThreadSynch/html/_call_scheduler_8h__dep__incl.md5
ThreadSynch/html/_call_scheduler_8h__incl.dot
ThreadSynch/html/_call_scheduler_8h__incl.md5
ThreadSynch/html/_call_scheduler_exceptions_8h.html
ThreadSynch/html/_call_scheduler_exceptions_8h__dep__incl.dot
ThreadSynch/html/_call_scheduler_exceptions_8h__dep__incl.md5
ThreadSynch/html/_ciritcal_section_8h.html
ThreadSynch/html/_ciritcal_section_8h__dep__incl.dot
ThreadSynch/html/_ciritcal_section_8h__dep__incl.md5
ThreadSynch/html/_exception_expecter_8h.html
ThreadSynch/html/_exception_expecter_8h__dep__incl.dot
ThreadSynch/html/_exception_expecter_8h__dep__incl.md5
ThreadSynch/html/_exception_expecter_8h__incl.dot
ThreadSynch/html/_exception_expecter_8h__incl.md5
ThreadSynch/html/_exception_expecter__template_8h.html
ThreadSynch/html/_functor_retval_binder_8h.html
ThreadSynch/html/_functor_retval_binder_8h__dep__incl.dot
ThreadSynch/html/_functor_retval_binder_8h__dep__incl.md5
ThreadSynch/html/_pickup_policy_provider_8h.html
ThreadSynch/html/_pickup_policy_provider_8h__dep__incl.dot
ThreadSynch/html/_pickup_policy_provider_8h__dep__incl.md5
ThreadSynch/html/_pickup_policy_provider_8h__incl.dot
ThreadSynch/html/_pickup_policy_provider_8h__incl.md5
ThreadSynch/html/_pickup_policy_provider_exceptions_8h.html
ThreadSynch/html/_pickup_policy_provider_exceptions_8h__dep__incl.dot
ThreadSynch/html/_pickup_policy_provider_exceptions_8h__dep__incl.md5
ThreadSynch/html/_thread_base_8cpp.html
ThreadSynch/html/_thread_base_8cpp__incl.dot
ThreadSynch/html/_thread_base_8cpp__incl.md5
ThreadSynch/html/_thread_base_8h.html
ThreadSynch/html/_thread_base_8h__dep__incl.dot
ThreadSynch/html/_thread_base_8h__dep__incl.md5
ThreadSynch/html/_thread_synch_8cpp.html
ThreadSynch/html/_thread_synch_8cpp__incl.dot
ThreadSynch/html/_thread_synch_8cpp__incl.md5
ThreadSynch/html/_thread_synch_8h.html
ThreadSynch/html/_thread_synch_8h__incl.dot
ThreadSynch/html/_thread_synch_8h__incl.md5
ThreadSynch/html/_throw_hooked_8h.html
ThreadSynch/html/_throw_hooked_8h__dep__incl.dot
ThreadSynch/html/_throw_hooked_8h__dep__incl.md5
ThreadSynch/html/_w_m_pickup_policy_8h.html
ThreadSynch/html/_w_m_pickup_policy_8h__incl.dot
ThreadSynch/html/_w_m_pickup_policy_8h__incl.md5
ThreadSynch/latex/
ThreadSynch/latex/annotated.tex
ThreadSynch/latex/class_async_caller.tex
ThreadSynch/latex/class_async_caller__coll__graph.dot
ThreadSynch/latex/class_async_caller__coll__graph.md5
ThreadSynch/latex/class_callback_info.tex
ThreadSynch/latex/class_callback_info_1_1_functor_saver.tex
ThreadSynch/latex/class_critical_section.tex
ThreadSynch/latex/class_exception_expecter.tex
ThreadSynch/latex/class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4.tex
ThreadSynch/latex/class_picup_policy_provider.tex
ThreadSynch/latex/class_thread_base.tex
ThreadSynch/latex/class_thread_synch_1_1_a_p_c_pickup_policy.tex
ThreadSynch/latex/class_thread_synch_1_1_a_p_c_pickup_policy__coll__graph.dot
ThreadSynch/latex/class_thread_synch_1_1_a_p_c_pickup_policy__coll__graph.md5
ThreadSynch/latex/class_thread_synch_1_1_a_p_c_pickup_policy__inherit__graph.dot
ThreadSynch/latex/class_thread_synch_1_1_a_p_c_pickup_policy__inherit__graph.md5
ThreadSynch/latex/class_thread_synch_1_1_call_handler.tex
ThreadSynch/latex/class_thread_synch_1_1_call_scheduler.tex
ThreadSynch/latex/class_thread_synch_1_1_call_scheduler__coll__graph.dot
ThreadSynch/latex/class_thread_synch_1_1_call_scheduler__coll__graph.md5
ThreadSynch/latex/class_thread_synch_1_1_call_scheduling_failed_exception.tex
ThreadSynch/latex/class_thread_synch_1_1_call_timeout_exception.tex
ThreadSynch/latex/class_thread_synch_1_1_functor_retval_binder.tex
ThreadSynch/latex/class_thread_synch_1_1_pickup_policy_provider.tex
ThreadSynch/latex/class_thread_synch_1_1_pickup_policy_provider__inherit__graph.dot
ThreadSynch/latex/class_thread_synch_1_1_pickup_policy_provider__inherit__graph.md5
ThreadSynch/latex/class_thread_synch_1_1_pickup_scheduling_failed_exception.tex
ThreadSynch/latex/class_thread_synch_1_1_unexpected_exception.tex
ThreadSynch/latex/class_thread_synch_1_1_w_m_pickup_policy.tex
ThreadSynch/latex/class_thread_synch_1_1_w_m_pickup_policy__coll__graph.dot
ThreadSynch/latex/class_thread_synch_1_1_w_m_pickup_policy__coll__graph.md5
ThreadSynch/latex/class_thread_synch_1_1_w_m_pickup_policy__inherit__graph.dot
ThreadSynch/latex/class_thread_synch_1_1_w_m_pickup_policy__inherit__graph.md5
ThreadSynch/latex/doxygen.sty
ThreadSynch/latex/files.tex
ThreadSynch/latex/FreeSans.ttf
ThreadSynch/latex/hierarchy.tex
ThreadSynch/latex/Makefile
ThreadSynch/latex/namespaces.tex
ThreadSynch/latex/namespacestd.tex
ThreadSynch/latex/namespace_thread_synch.tex
ThreadSynch/latex/namespace_thread_synch_1_1details.tex
ThreadSynch/latex/refman.tex
ThreadSynch/latex/stdafx_8cpp.tex
ThreadSynch/latex/stdafx_8cpp__incl.dot
ThreadSynch/latex/stdafx_8cpp__incl.md5
ThreadSynch/latex/stdafx_8h.tex
ThreadSynch/latex/stdafx_8h__dep__incl.dot
ThreadSynch/latex/stdafx_8h__dep__incl.md5
ThreadSynch/latex/stdafx_8h__incl.dot
ThreadSynch/latex/stdafx_8h__incl.md5
ThreadSynch/latex/_async_caller_8cpp.tex
ThreadSynch/latex/_async_caller_8cpp__incl.dot
ThreadSynch/latex/_async_caller_8cpp__incl.md5
ThreadSynch/latex/_async_caller_8h.tex
ThreadSynch/latex/_async_caller_8h__dep__incl.dot
ThreadSynch/latex/_async_caller_8h__dep__incl.md5
ThreadSynch/latex/_async_caller_8h__incl.dot
ThreadSynch/latex/_async_caller_8h__incl.md5
ThreadSynch/latex/_a_p_c_pickup_policy_8h.tex
ThreadSynch/latex/_a_p_c_pickup_policy_8h__dep__incl.dot
ThreadSynch/latex/_a_p_c_pickup_policy_8h__dep__incl.md5
ThreadSynch/latex/_a_p_c_pickup_policy_8h__incl.dot
ThreadSynch/latex/_a_p_c_pickup_policy_8h__incl.md5
ThreadSynch/latex/_callback_info_8h.tex
ThreadSynch/latex/_callback_info_8h__dep__incl.dot
ThreadSynch/latex/_callback_info_8h__dep__incl.md5
ThreadSynch/latex/_call_handler_8h.tex
ThreadSynch/latex/_call_handler_8h__dep__incl.dot
ThreadSynch/latex/_call_handler_8h__dep__incl.md5
ThreadSynch/latex/_call_handler_8h__incl.dot
ThreadSynch/latex/_call_handler_8h__incl.md5
ThreadSynch/latex/_call_scheduler_8h.tex
ThreadSynch/latex/_call_scheduler_8h__dep__incl.dot
ThreadSynch/latex/_call_scheduler_8h__dep__incl.md5
ThreadSynch/latex/_call_scheduler_8h__incl.dot
ThreadSynch/latex/_call_scheduler_8h__incl.md5
ThreadSynch/latex/_call_scheduler_exceptions_8h.tex
ThreadSynch/latex/_call_scheduler_exceptions_8h__dep__incl.dot
ThreadSynch/latex/_call_scheduler_exceptions_8h__dep__incl.md5
ThreadSynch/latex/_ciritcal_section_8h.tex
ThreadSynch/latex/_ciritcal_section_8h__dep__incl.dot
ThreadSynch/latex/_ciritcal_section_8h__dep__incl.md5
ThreadSynch/latex/_exception_expecter_8h.tex
ThreadSynch/latex/_exception_expecter_8h__dep__incl.dot
ThreadSynch/latex/_exception_expecter_8h__dep__incl.md5
ThreadSynch/latex/_exception_expecter_8h__incl.dot
ThreadSynch/latex/_exception_expecter_8h__incl.md5
ThreadSynch/latex/_exception_expecter__template_8h.tex
ThreadSynch/latex/_functor_retval_binder_8h.tex
ThreadSynch/latex/_functor_retval_binder_8h__dep__incl.dot
ThreadSynch/latex/_functor_retval_binder_8h__dep__incl.md5
ThreadSynch/latex/_pickup_policy_provider_8h.tex
ThreadSynch/latex/_pickup_policy_provider_8h__dep__incl.dot
ThreadSynch/latex/_pickup_policy_provider_8h__dep__incl.md5
ThreadSynch/latex/_pickup_policy_provider_8h__incl.dot
ThreadSynch/latex/_pickup_policy_provider_8h__incl.md5
ThreadSynch/latex/_pickup_policy_provider_exceptions_8h.tex
ThreadSynch/latex/_pickup_policy_provider_exceptions_8h__dep__incl.dot
ThreadSynch/latex/_pickup_policy_provider_exceptions_8h__dep__incl.md5
ThreadSynch/latex/_thread_base_8cpp.tex
ThreadSynch/latex/_thread_base_8cpp__incl.dot
ThreadSynch/latex/_thread_base_8cpp__incl.md5
ThreadSynch/latex/_thread_base_8h.tex
ThreadSynch/latex/_thread_base_8h__dep__incl.dot
ThreadSynch/latex/_thread_base_8h__dep__incl.md5
ThreadSynch/latex/_thread_synch_8cpp.tex
ThreadSynch/latex/_thread_synch_8cpp__incl.dot
ThreadSynch/latex/_thread_synch_8cpp__incl.md5
ThreadSynch/latex/_thread_synch_8h.tex
ThreadSynch/latex/_thread_synch_8h__incl.dot
ThreadSynch/latex/_thread_synch_8h__incl.md5
ThreadSynch/latex/_throw_hooked_8h.tex
ThreadSynch/latex/_throw_hooked_8h__dep__incl.dot
ThreadSynch/latex/_throw_hooked_8h__dep__incl.md5
ThreadSynch/latex/_w_m_pickup_policy_8h.tex
ThreadSynch/latex/_w_m_pickup_policy_8h__incl.dot
ThreadSynch/latex/_w_m_pickup_policy_8h__incl.md5
ThreadSynch/READ_ME.txt
ThreadSynch/ThreadSynch/
ThreadSynch/ThreadSynch.sln
ThreadSynch/ThreadSynch.suo
ThreadSynch/ThreadSynchTest/
ThreadSynch/ThreadSynchTestWM/
ThreadSynch/ThreadSynchTestWM/pch.cpp
ThreadSynch/ThreadSynchTestWM/pch.h
ThreadSynch/ThreadSynchTestWM/resource.h
ThreadSynch/ThreadSynchTestWM/ThreadSynchDemoWM.aps
ThreadSynch/ThreadSynchTestWM/ThreadSynchDemoWM.cpp
ThreadSynch/ThreadSynchTestWM/ThreadSynchDemoWM.h
ThreadSynch/ThreadSynchTestWM/ThreadSynchDemoWM.rc
ThreadSynch/ThreadSynchTestWM/ThreadSynchTestWM.aps
ThreadSynch/ThreadSynchTestWM/ThreadSynchTestWM.vcproj
ThreadSynch/ThreadSynchTest/pch.cpp
ThreadSynch/ThreadSynchTest/pch.h
ThreadSynch/ThreadSynchTest/ThreadBase.cpp
ThreadSynch/ThreadSynchTest/ThreadBase.h
ThreadSynch/ThreadSynchTest/ThreadSynchDemo.cpp
ThreadSynch/ThreadSynchTest/ThreadSynchTest.vcproj
ThreadSynch/ThreadSynch/APCPickupPolicy.h
ThreadSynch/ThreadSynch/AsyncCaller.cpp
ThreadSynch/ThreadSynch/AsyncCaller.h
ThreadSynch/ThreadSynch/CallbackInfo.h
ThreadSynch/ThreadSynch/CallHandler.h
ThreadSynch/ThreadSynch/CallScheduler.h
ThreadSynch/ThreadSynch/CallSchedulerExceptions.h
ThreadSynch/ThreadSynch/CiritcalSection.h
ThreadSynch/ThreadSynch/ExceptionExpecter.h
ThreadSynch/ThreadSynch/ExceptionExpecter_template.h
ThreadSynch/ThreadSynch/FunctorRetvalBinder.h
ThreadSynch/ThreadSynch/PickupPolicyProvider.h
ThreadSynch/ThreadSynch/PickupPolicyProviderExceptions.h
ThreadSynch/ThreadSynch/stdafx.cpp
ThreadSynch/ThreadSynch/stdafx.h
ThreadSynch/ThreadSynch/ThreadBase.cpp
ThreadSynch/ThreadSynch/ThreadBase.h
ThreadSynch/ThreadSynch/ThreadSynch.cpp
ThreadSynch/ThreadSynch/ThreadSynch.h
ThreadSynch/ThreadSynch/ThreadSynch.vcproj
ThreadSynch/ThreadSynch/ThrowHooked.h
ThreadSynch/ThreadSynch/WMPickupPolicy.h
ThreadSynch/UnitTests/
ThreadSynch/UnitTests/ThreadSynchTests.cpp
ThreadSynch/UnitTests/UnitTests.vcproj