diff options
Diffstat (limited to 'doc/html/lockfree.html')
-rw-r--r-- | doc/html/lockfree.html | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/doc/html/lockfree.html b/doc/html/lockfree.html index ae0159fe73..8bbd1a8c8a 100644 --- a/doc/html/lockfree.html +++ b/doc/html/lockfree.html @@ -2,9 +2,9 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> -<title>Chapter 19. Boost.Lockfree</title> +<title>Chapter 20. Boost.Lockfree</title> <link rel="stylesheet" href="../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <link rel="home" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> <link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries (BoostBook Subset)"> <link rel="prev" href="boost_lexical_cast/performance.html" title="Performance"> @@ -26,7 +26,7 @@ <div class="chapter"> <div class="titlepage"><div> <div><h2 class="title"> -<a name="lockfree"></a>Chapter 19. Boost.Lockfree</h2></div> +<a name="lockfree"></a>Chapter 20. Boost.Lockfree</h2></div> <div><div class="author"><h3 class="author"> <span class="firstname">Tim</span> <span class="surname">Blechmann</span> </h3></div></div> @@ -41,7 +41,7 @@ </div></div> <div class="toc"> <p><b>Table of Contents</b></p> -<dl> +<dl class="toc"> <dt><span class="section"><a href="lockfree.html#lockfree.introduction___motivation">Introduction & Motivation</a></span></dt> <dt><span class="section"><a href="lockfree/examples.html">Examples</a></span></dt> @@ -76,7 +76,7 @@ </h2></div></div></div> <h3> <a name="lockfree.introduction___motivation.h0"></a> - <span><a name="lockfree.introduction___motivation.introduction__amp__terminology"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.introduction__amp__terminology">Introduction + <span class="phrase"><a name="lockfree.introduction___motivation.introduction__amp__terminology"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.introduction__amp__terminology">Introduction & Terminology</a> </h3> <p> @@ -86,7 +86,7 @@ Art of Multiprocessor Programming"</a>) distinguish between 3 types of non-blocking data structures, each having different properties: </p> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> data structures are <span class="bold"><strong>wait-free</strong></span>, if every concurrent operation is guaranteed to be finished in a finite number of @@ -119,13 +119,13 @@ </p> <h3> <a name="lockfree.introduction___motivation.h1"></a> - <span><a name="lockfree.introduction___motivation.properties_of_non_blocking_data_structures"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.properties_of_non_blocking_data_structures">Properties + <span class="phrase"><a name="lockfree.introduction___motivation.properties_of_non_blocking_data_structures"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.properties_of_non_blocking_data_structures">Properties of Non-Blocking Data Structures</a> </h3> <p> Non-blocking data structures do not rely on locks and mutexes to ensure thread-safety. The synchronization is done completely in user-space without any direct interaction - with the operating system <sup>[<a name="lockfree.introduction___motivation.f0" href="#ftn.lockfree.introduction___motivation.f0" class="footnote">4</a>]</sup>. This implies that they are not prone to issues like priority inversion + with the operating system <a href="#ftn.lockfree.introduction___motivation.f0" class="footnote" name="lockfree.introduction___motivation.f0"><sup class="footnote">[4]</sup></a>. This implies that they are not prone to issues like priority inversion (a low-priority thread needs to wait for a high-priority thread). </p> <p> @@ -138,7 +138,7 @@ </p> <h3> <a name="lockfree.introduction___motivation.h2"></a> - <span><a name="lockfree.introduction___motivation.performance_of_non_blocking_data_structures"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.performance_of_non_blocking_data_structures">Performance + <span class="phrase"><a name="lockfree.introduction___motivation.performance_of_non_blocking_data_structures"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.performance_of_non_blocking_data_structures">Performance of Non-Blocking Data Structures</a> </h3> <p> @@ -147,7 +147,7 @@ 'wait-free' only mention the upper bound of an operation. Therefore lock-free data structures are not necessarily the best choice for every use case. In order to maximise the throughput of an application one should consider high-performance - concurrent data structures <sup>[<a name="lockfree.introduction___motivation.f1" href="#ftn.lockfree.introduction___motivation.f1" class="footnote">5</a>]</sup>. + concurrent data structures <a href="#ftn.lockfree.introduction___motivation.f1" class="footnote" name="lockfree.introduction___motivation.f1"><sup class="footnote">[5]</sup></a>. </p> <p> Lock-free data structures will be a better choice in order to optimize the @@ -159,7 +159,7 @@ </p> <h3> <a name="lockfree.introduction___motivation.h3"></a> - <span><a name="lockfree.introduction___motivation.sources_of_blocking_behavior"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.sources_of_blocking_behavior">Sources + <span class="phrase"><a name="lockfree.introduction___motivation.sources_of_blocking_behavior"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.sources_of_blocking_behavior">Sources of Blocking Behavior</a> </h3> <p> @@ -168,7 +168,7 @@ </p> <div class="variablelist"> <p class="title"><b></b></p> -<dl> +<dl class="variablelist"> <dt><span class="term">Atomic Operations</span></dt> <dd><p> Some architectures do not provide the necessary atomic operations in @@ -197,7 +197,7 @@ </div> <h3> <a name="lockfree.introduction___motivation.h4"></a> - <span><a name="lockfree.introduction___motivation.data_structures"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.data_structures">Data + <span class="phrase"><a name="lockfree.introduction___motivation.data_structures"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.data_structures">Data Structures</a> </h3> <p> @@ -205,7 +205,7 @@ </p> <div class="variablelist"> <p class="title"><b></b></p> -<dl> +<dl class="variablelist"> <dt><span class="term"><code class="computeroutput"><a class="link" href="boost/lockfree/queue.html" title="Class template queue">boost::lockfree::queue</a></code></span></dt> <dd><p> a lock-free multi-produced/multi-consumer queue @@ -223,7 +223,7 @@ </div> <h4> <a name="lockfree.introduction___motivation.h5"></a> - <span><a name="lockfree.introduction___motivation.data_structure_configuration"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.data_structure_configuration">Data + <span class="phrase"><a name="lockfree.introduction___motivation.data_structure_configuration"></a></span><a class="link" href="lockfree.html#lockfree.introduction___motivation.data_structure_configuration">Data Structure Configuration</a> </h4> <p> @@ -232,7 +232,7 @@ </p> <div class="variablelist"> <p class="title"><b></b></p> -<dl> +<dl class="variablelist"> <dt><span class="term"><code class="computeroutput"><a class="link" href="boost/lockfree/fixed_sized.html" title="Struct template fixed_sized">boost::lockfree::fixed_sized</a></code></span></dt> <dd><p> Configures the data structure as <span class="bold"><strong>fixed sized</strong></span>. @@ -257,13 +257,13 @@ </div> </div> <div class="footnotes"> -<br><hr width="100" align="left"> -<div class="footnote"><p><sup>[<a id="ftn.lockfree.introduction___motivation.f0" href="#lockfree.introduction___motivation.f0" class="para">4</a>] </sup> +<br><hr style="width:100; text-align:left;margin-left: 0"> +<div id="ftn.lockfree.introduction___motivation.f0" class="footnote"><p><a href="#lockfree.introduction___motivation.f0" class="para"><sup class="para">[4] </sup></a> Spinlocks do not directly interact with the operating system either. However it is possible that the owning thread is preempted by the operating system, which violates the lock-free property. </p></div> -<div class="footnote"><p><sup>[<a id="ftn.lockfree.introduction___motivation.f1" href="#lockfree.introduction___motivation.f1" class="para">5</a>] </sup> +<div id="ftn.lockfree.introduction___motivation.f1" class="footnote"><p><a href="#lockfree.introduction___motivation.f1" class="para"><sup class="para">[5] </sup></a> <a href="http://threadingbuildingblocks.org/" target="_top">Intel's Thread Building Blocks library</a> provides many efficient concurrent data structures, which are not necessarily lock-free. @@ -271,7 +271,7 @@ </div> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> -<td align="left"><p><small>Last revised: May 05, 2016 at 21:19:18 GMT</small></p></td> +<td align="left"><p><small>Last revised: September 21, 2016 at 14:37:36 GMT</small></p></td> <td align="right"><div class="copyright-footer"></div></td> </tr></table> <hr> |