summaryrefslogtreecommitdiff
path: root/doc/html/lockfree.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/lockfree.html')
-rw-r--r--doc/html/lockfree.html40
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&#160;19.&#160;Boost.Lockfree</title>
+<title>Chapter&#160;20.&#160;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&#160;I.&#160;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&#160;19.&#160;Boost.Lockfree</h2></div>
+<a name="lockfree"></a>Chapter&#160;20.&#160;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 &amp;
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
&amp; 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>