[/ (C) Copyright 2007-8 Anthony Williams. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). ] [article Thread [quickbook 1.4] [authors [Williams, Anthony]] [copyright 2007-8 Anthony Williams] [purpose C++ Library for launching threads and synchronizing data between them] [category text] [license Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at [@http://www.boost.org/LICENSE_1_0.txt]) ] ] [template lockable_concept_link[link_text] [link thread.synchronization.mutex_concepts.lockable [link_text]]] [def __lockable_concept__ [lockable_concept_link `Lockable` concept]] [def __lockable_concept_type__ [lockable_concept_link `Lockable`]] [template timed_lockable_concept_link[link_text] [link thread.synchronization.mutex_concepts.timed_lockable [link_text]]] [def __timed_lockable_concept__ [timed_lockable_concept_link `TimedLockable` concept]] [def __timed_lockable_concept_type__ [timed_lockable_concept_link `TimedLockable`]] [template shared_lockable_concept_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable [link_text]]] [def __shared_lockable_concept__ [shared_lockable_concept_link `SharedLockable` concept]] [def __shared_lockable_concept_type__ [shared_lockable_concept_link `SharedLockable`]] [template upgrade_lockable_concept_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable [link_text]]] [def __upgrade_lockable_concept__ [upgrade_lockable_concept_link `UpgradeLockable` concept]] [def __upgrade_lockable_concept_type__ [upgrade_lockable_concept_link `UpgradeLockable`]] [template lock_ref_link[link_text] [link thread.synchronization.mutex_concepts.lockable.lock [link_text]]] [def __lock_ref__ [lock_ref_link `lock()`]] [template lock_multiple_ref_link[link_text] [link thread.synchronization.lock_functions.lock_multiple [link_text]]] [def __lock_multiple_ref__ [lock_multiple_ref_link `lock()`]] [template try_lock_multiple_ref_link[link_text] [link thread.synchronization.lock_functions.try_lock_multiple [link_text]]] [def __try_lock_multiple_ref__ [try_lock_multiple_ref_link `try_lock()`]] [template unlock_ref_link[link_text] [link thread.synchronization.mutex_concepts.lockable.unlock [link_text]]] [def __unlock_ref__ [unlock_ref_link `unlock()`]] [template try_lock_ref_link[link_text] [link thread.synchronization.mutex_concepts.lockable.try_lock [link_text]]] [def __try_lock_ref__ [try_lock_ref_link `try_lock()`]] [template timed_lock_ref_link[link_text] [link thread.synchronization.mutex_concepts.timed_lockable.timed_lock [link_text]]] [def __timed_lock_ref__ [timed_lock_ref_link `timed_lock()`]] [template timed_lock_duration_ref_link[link_text] [link thread.synchronization.mutex_concepts.timed_lockable.timed_lock_duration [link_text]]] [def __timed_lock_duration_ref__ [timed_lock_duration_ref_link `timed_lock()`]] [template lock_shared_ref_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable.lock_shared [link_text]]] [def __lock_shared_ref__ [lock_shared_ref_link `lock_shared()`]] [template unlock_shared_ref_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable.unlock_shared [link_text]]] [def __unlock_shared_ref__ [unlock_shared_ref_link `unlock_shared()`]] [template try_lock_shared_ref_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable.try_lock_shared [link_text]]] [def __try_lock_shared_ref__ [try_lock_shared_ref_link `try_lock_shared()`]] [template timed_lock_shared_ref_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable.timed_lock_shared [link_text]]] [def __timed_lock_shared_ref__ [timed_lock_shared_ref_link `timed_lock_shared()`]] [template timed_lock_shared_duration_ref_link[link_text] [link thread.synchronization.mutex_concepts.shared_lockable.timed_lock_shared_duration [link_text]]] [def __timed_lock_shared_duration_ref__ [timed_lock_shared_duration_ref_link `timed_lock_shared()`]] [template lock_upgrade_ref_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable.lock_upgrade [link_text]]] [def __lock_upgrade_ref__ [lock_upgrade_ref_link `lock_upgrade()`]] [template unlock_upgrade_ref_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_upgrade [link_text]]] [def __unlock_upgrade_ref__ [unlock_upgrade_ref_link `unlock_upgrade()`]] [template unlock_upgrade_and_lock_ref_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_upgrade_and_lock [link_text]]] [def __unlock_upgrade_and_lock_ref__ [unlock_upgrade_and_lock_ref_link `unlock_upgrade_and_lock()`]] [template unlock_and_lock_upgrade_ref_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_and_lock_upgrade [link_text]]] [def __unlock_and_lock_upgrade_ref__ [unlock_and_lock_upgrade_ref_link `unlock_and_lock_upgrade()`]] [template unlock_upgrade_and_lock_shared_ref_link[link_text] [link thread.synchronization.mutex_concepts.upgrade_lockable.unlock_upgrade_and_lock_shared [link_text]]] [def __unlock_upgrade_and_lock_shared_ref__ [unlock_upgrade_and_lock_shared_ref_link `unlock_upgrade_and_lock_shared()`]] [template owns_lock_ref_link[link_text] [link thread.synchronization.locks.unique_lock.owns_lock [link_text]]] [def __owns_lock_ref__ [owns_lock_ref_link `owns_lock()`]] [template owns_lock_shared_ref_link[link_text] [link thread.synchronization.locks.shared_lock.owns_lock [link_text]]] [def __owns_lock_shared_ref__ [owns_lock_shared_ref_link `owns_lock()`]] [template mutex_func_ref_link[link_text] [link thread.synchronization.locks.unique_lock.mutex [link_text]]] [def __mutex_func_ref__ [mutex_func_ref_link `mutex()`]] [def __boost_thread__ [*Boost.Thread]] [def __not_a_thread__ ['Not-a-Thread]] [def __interruption_points__ [link interruption_points ['interruption points]]] [def __mutex__ [link thread.synchronization.mutex_types.mutex `boost::mutex`]] [def __try_mutex__ [link thread.synchronization.mutex_types.try_mutex `boost::try_mutex`]] [def __timed_mutex__ [link thread.synchronization.mutex_types.timed_mutex `boost::timed_mutex`]] [def __recursive_mutex__ [link thread.synchronization.mutex_types.recursive_mutex `boost::recursive_mutex`]] [def __recursive_try_mutex__ [link thread.synchronization.mutex_types.recursive_try_mutex `boost::recursive_try_mutex`]] [def __recursive_timed_mutex__ [link thread.synchronization.mutex_types.recursive_timed_mutex `boost::recursive_timed_mutex`]] [def __shared_mutex__ [link thread.synchronization.mutex_types.shared_mutex `boost::shared_mutex`]] [template unique_lock_link[link_text] [link thread.synchronization.locks.unique_lock [link_text]]] [def __lock_guard__ [link thread.synchronization.locks.lock_guard `boost::lock_guard`]] [def __unique_lock__ [unique_lock_link `boost::unique_lock`]] [def __shared_lock__ [link thread.synchronization.locks.shared_lock `boost::shared_lock`]] [def __upgrade_lock__ [link thread.synchronization.locks.upgrade_lock `boost::upgrade_lock`]] [def __upgrade_to_unique_lock__ [link thread.synchronization.locks.upgrade_to_unique_lock `boost::upgrade_to_unique_lock`]] [def __thread__ [link thread.thread_management.thread `boost::thread`]] [def __thread_id__ [link thread.thread_management.thread.id `boost::thread::id`]] [template join_link[link_text] [link thread.thread_management.thread.join [link_text]]] [def __join__ [join_link `join()`]] [template timed_join_link[link_text] [link thread.thread_management.thread.timed_join [link_text]]] [def __timed_join__ [timed_join_link `timed_join()`]] [def __detach__ [link thread.thread_management.thread.detach `detach()`]] [def __interrupt__ [link thread.thread_management.thread.interrupt `interrupt()`]] [def __sleep__ [link thread.thread_management.this_thread.sleep `boost::this_thread::sleep()`]] [def __interruption_enabled__ [link thread.thread_management.this_thread.interruption_enabled `boost::this_thread::interruption_enabled()`]] [def __interruption_requested__ [link thread.thread_management.this_thread.interruption_requested `boost::this_thread::interruption_requested()`]] [def __interruption_point__ [link thread.thread_management.this_thread.interruption_point `boost::this_thread::interruption_point()`]] [def __disable_interruption__ [link thread.thread_management.this_thread.disable_interruption `boost::this_thread::disable_interruption`]] [def __restore_interruption__ [link thread.thread_management.this_thread.restore_interruption `boost::this_thread::restore_interruption`]] [def __thread_resource_error__ `boost::thread_resource_error`] [def __thread_interrupted__ `boost::thread_interrupted`] [def __barrier__ [link thread.synchronization.barriers.barrier `boost::barrier`]] [template cond_wait_link[link_text] [link thread.synchronization.condvar_ref.condition_variable.wait [link_text]]] [def __cond_wait__ [cond_wait_link `wait()`]] [template cond_timed_wait_link[link_text] [link thread.synchronization.condvar_ref.condition_variable.timed_wait [link_text]]] [def __cond_timed_wait__ [cond_timed_wait_link `timed_wait()`]] [template cond_any_wait_link[link_text] [link thread.synchronization.condvar_ref.condition_variable_any.wait [link_text]]] [def __cond_any_wait__ [cond_any_wait_link `wait()`]] [template cond_any_timed_wait_link[link_text] [link thread.synchronization.condvar_ref.condition_variable_any.timed_wait [link_text]]] [def __cond_any_timed_wait__ [cond_any_timed_wait_link `timed_wait()`]] [def __blocked__ ['blocked]] [include overview.qbk] [include changes.qbk] [include thread_ref.qbk] [section:synchronization Synchronization] [include mutex_concepts.qbk] [include mutexes.qbk] [include condition_variables.qbk] [include once.qbk] [include barrier.qbk] [endsect] [include tss.qbk] [include time.qbk] [include acknowledgements.qbk]