mirror of
https://github.com/boostorg/thread.git
synced 2026-01-24 06:22:12 +00:00
* [@http://svn.boost.org/trac/boost/ticket/2309 #2309] Lack of g++ symbol visibility support in Boost.Thread. * [@http://svn.boost.org/trac/boost/ticket/2639 #2639] documentation should be extended(defer_lock, try_to_lock, ...). * [@http://svn.boost.org/trac/boost/ticket/3639 #3639] Boost.Thread doesn't build with Sun-5.9 on Linux. * [@http://svn.boost.org/trac/boost/ticket/3762 #3762] Thread can't be compiled with winscw (Codewarrior by Nokia). * [@http://svn.boost.org/trac/boost/ticket/3885 #3885] document about mix usage of boost.thread and native thread api. * [@http://svn.boost.org/trac/boost/ticket/3975 #3975] Incorrect precondition for promise::set_wait_callback(). * [@http://svn.boost.org/trac/boost/ticket/4048 #4048] thread::id formatting involves locale * [@http://svn.boost.org/trac/boost/ticket/4315 #4315] gcc 4.4 Warning: inline ... declared as dllimport: attribute ignored. * [@http://svn.boost.org/trac/boost/ticket/4480 #4480] OpenVMS patches for compiler issues workarounds. * [@http://svn.boost.org/trac/boost/ticket/4819 #4819] boost.thread's documentation misprints. * [@http://svn.boost.org/trac/boost/ticket/5423 #5423] thread issues with C++0x. * [@http://svn.boost.org/trac/boost/ticket/5617 #5617] boost::thread::id copy ctor. * [@http://svn.boost.org/trac/boost/ticket/5739 #5739] set-but-not-used warnings with gcc-4.6. * [@http://svn.boost.org/trac/boost/ticket/5826 #5826] threads.cpp: resource leak on threads creation failure. * [@http://svn.boost.org/trac/boost/ticket/5839 #5839] thread.cpp: ThreadProxy leaks on exceptions. * [@http://svn.boost.org/trac/boost/ticket/5859 #5859] win32 shared_mutex constructor leaks on exceptions. * [@http://svn.boost.org/trac/boost/ticket/6100 #6100] Compute hardware_concurrency() using get_nprocs() on GLIBC systems. * [@http://svn.boost.org/trac/boost/ticket/6168 #6168] recursive_mutex is using wrong config symbol (possible typo). * [@http://svn.boost.org/trac/boost/ticket/6175 #6175] Compile error with SunStudio. * [@http://svn.boost.org/trac/boost/ticket/6200 #6200] patch to have condition_variable and mutex error better handle EINTR. * [@http://svn.boost.org/trac/boost/ticket/6207 #6207] shared_lock swap compiler error on clang 3.0 c++11. * [@http://svn.boost.org/trac/boost/ticket/6208 #6208] try_lock_wrapper swap compiler error on clang 3.0 c++11. [SVN r76291]
171 lines
9.8 KiB
Plaintext
171 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]
|
|
|
|
[include compliance.qbk]
|