mirror of
https://github.com/boostorg/thread.git
synced 2026-01-23 18:12:12 +00:00
169 lines
9.8 KiB
Plaintext
169 lines
9.8 KiB
Plaintext
[/
|
|
(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]
|
|
[include futures.qbk]
|
|
[endsect]
|
|
|
|
[include tss.qbk]
|
|
|
|
[include time.qbk]
|
|
|
|
[include acknowledgements.qbk]
|