mirror of
https://github.com/boostorg/thread.git
synced 2026-01-22 17:52:18 +00:00
223 lines
9.8 KiB
HTML
223 lines
9.8 KiB
HTML
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content=
|
|
"text/html; charset=windows-1252">
|
|
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
|
|
<meta name="ProgId" content="FrontPage.Editor.Document">
|
|
|
|
<title>Boost.Threads Bibliography</title>
|
|
</head>
|
|
|
|
<body bgcolor="#FFFFFF" text="#000000">
|
|
<table summary="header" border="0" cellpadding="7" cellspacing="0"
|
|
width="100%">
|
|
<tr>
|
|
<td valign="top" width="300">
|
|
<h3><img src="../../../c++boost.gif" alt="C++ Boost" width=
|
|
"277" height="86"></h3>
|
|
</td>
|
|
|
|
<td valign="top">
|
|
<h1 align="center">Boost.Threads</h1>
|
|
|
|
<h2 align="center">Bibliography</h2>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h2>Bibliography</h2>
|
|
|
|
<table summary="Bibliography" border="0" cellpadding="5" width="777">
|
|
<tr>
|
|
<td width="102" valign="top" align="left"><b>[<a name=
|
|
"Andrews-83">Andrews 83</a>]</b></td>
|
|
|
|
<td width="645">
|
|
Gregory R. Andrews, Fred B. Schneider, <cite>Concepts and
|
|
Notations for Concurrent Programming</cite>, ACM Computing
|
|
Surveys, Vol. 15, No. 1, March, 1983. <a href=
|
|
"http://www.acm.org/pubs/citations/journals/surveys/1983-15-1/p3-andrews/">
|
|
http://www.acm.org/pubs/citations/journals/surveys/1983-15-1/p3-andrews/</a>
|
|
|
|
|
|
<p>Good general background reading. Includes descriptions
|
|
of Path Expressions, Message Passing, and Remote Procedure
|
|
Call in addition to the basics.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="102" valign="top" align="left"><b>[<a name=
|
|
"Boost">Boost</a>]</b></td>
|
|
|
|
<td width="645">
|
|
The <cite>Boost</cite> world-wide web site. <a href=
|
|
"http://www.boost.org">http://www.boost.org</a>
|
|
|
|
<p>Boost.Threads is one of many Boost libraries. The Boost
|
|
web site includes a great deal of documentation and general
|
|
information which applies to all Boost libraries. Current
|
|
copies of the libraries including documentation and test
|
|
programs may be downloaded from the web site.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="102" valign="top" align="left"><b>[<a name=
|
|
"Brinch-Hansen-73">Brinch Hansen 73</a>]</b></td>
|
|
|
|
<td width="645">
|
|
Per Brinch Hansen, <cite>Concurrent Programming
|
|
Concepts</cite>, ACM Computing Surveys, Vol. 5, No. 4,
|
|
December, 1973. <a href=
|
|
"http://www.acm.org/pubs/articles/journals/surveys/1973-5-4/p223-hansen/p223-hansen.pdf">
|
|
http://www.acm.org/pubs/articles/journals/surveys/1973-5-4/p223-hansen/</a>
|
|
|
|
|
|
<p>"This paper describes the evolution of language
|
|
features for multiprogramming from event queues and
|
|
semaphores to critical regions and monitors." Includes
|
|
analysis of why <i>events</i> are considered error-prone.
|
|
Also noteworthy because of an introductory quotation from
|
|
Christopher Alexander; Brinch Hansen was years ahead of
|
|
others in recognizing pattern concepts applied to software
|
|
too.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="102" valign="top" align="left"><b>]<a name=
|
|
"Butenhof-97">Butenhof 97</a>]</b></td>
|
|
|
|
<td width="645">
|
|
<p>David R. Butenhof, <cite>Programming with POSIX
|
|
Threads</cite>, Addison-Wesley 1997, ISBN 0-201-63392-2 <a
|
|
href="http://cseng.aw.com/book/0,3828,0201633922,00.html">
|
|
http://cseng.aw.com/book/0,3828,0201633922,00.html</a></p>
|
|
|
|
<p>This is a very readable explanation of threads and how
|
|
to use them. Many of the insights given apply to all
|
|
multi-threaded programming, not just POSIX Threads.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="102" valign="top" align="left"><b>[<a name=
|
|
"Hoare-74">Hoare 74</a>]</b></td>
|
|
|
|
<td width="645">
|
|
<p>C.A.R Hoare, <cite>Monitors: An Operating System
|
|
Structuring Concept</cite>, Communications of the ACM, Vol.
|
|
17, No. 10. October 1974, pp. 549-557 <a href=
|
|
"http://www.acm.org/classics/feb96/">
|
|
http://www.acm.org/classics/feb96/</a></p>
|
|
|
|
<p>Hoare and Brinch Hansen's work on Monitors is the
|
|
basis for reliable multi-threading patterns. This is one of
|
|
the most often referenced papers in all of computer
|
|
science, and with good reason.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="102" valign="top" align="left"><b>[<a name=
|
|
"ISO-98">ISO 98</a>]</b></td>
|
|
|
|
<td width="645">
|
|
<p>ISO/IEC 14882:1998(E) <cite>Programming Language
|
|
C++</cite> <a href="http://www.ansi.org">
|
|
http://www.ansi.org</a></p>
|
|
|
|
<p>This is the official C++ Standards document. Available
|
|
from the ANSI (American National Standards Institute)
|
|
Electronic Standards Store.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="102" valign="top" align="left"><b>[<a name=
|
|
"McDowell-89">McDowell 89</a>]</b></td>
|
|
|
|
<td width="645">
|
|
Charles E McDowell, David P. Helmbold, <cite>Debugging
|
|
Concurrent Programs</cite>, ACM Computing Surveys, Vol. 21,
|
|
No. 2, December, 1989. <a href=
|
|
"http://www.acm.org/pubs/citations/journals/surveys/1989-21-4/p593-mcdowell/">
|
|
http://www.acm.org/pubs/citations/journals/surveys/1989-21-4/p593-mcdowell/</a>
|
|
|
|
|
|
<p>Identifies many of the unique failure modes and
|
|
debugging difficulties associated with concurrent
|
|
programs.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="102" valign="top" align="left"><b>[<a name=
|
|
"Schmidt">Schmidt</a>]</b> </td>
|
|
|
|
<td width="645">
|
|
<p>Douglas C. Schmidt and Irfan Pyarali, <cite>Strategies
|
|
for Implementing POSIX Condition Variables on Win32</cite>,
|
|
Department of Computer Science, Washington University, St.
|
|
Louis, Missouri. <a href=
|
|
"http://www.cs.wustl.edu/~schmidt/win32-cv-1.html">
|
|
http://www.cs.wustl.edu/~schmidt/win32-cv-1.html</a></p>
|
|
|
|
<p>Rationale for understanding Boost.Threads condition
|
|
variables. Note that Alexander Terekhov found some bugs in
|
|
the implementation given in this article, so pthreads-win32
|
|
and Boost.Threads are even more complicated yet.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="102" valign="top" align="left"><b>[<a name=
|
|
"Schmidt-00">Schmidt 00</a>]</b> </td>
|
|
|
|
<td width="645">
|
|
<p>Douglas C. Schmidt, Michael Stal, Hans Rohnert and Frank
|
|
Buschmann, <cite>Pattern-Oriented Software Architecture
|
|
Volume 2 - Patterns for Concurrent and Networked
|
|
Objects</cite>, Wiley 2000, ISBN 0-471-60695-2 <a href=
|
|
"http://www.wiley.com/Corporate/Website/Objects/Products/0,9049,104671,00.html">
|
|
http://www.wiley.com/Corporate/Website/Objects/Products/0,9049,104671,00.html</a></p>
|
|
|
|
<p>This is a very good explanation of how to apply several
|
|
patterns useful for concurrent programming. Among the
|
|
patterns documented is the Monitor Pattern mentioned
|
|
frequently in the <b>Boost.Threads</b> documentation.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="102" valign="top" align="left"><b>[<a name=
|
|
"Stroustrup-00">Stroustrup 00</a>]</b></td>
|
|
|
|
<td width="645">
|
|
Bjarne Stroustrup, <cite>The C++ Programming
|
|
Language</cite>, Special Edition, Addison-Wesley 2000, ISBN
|
|
0-201-70073-5 <a href=
|
|
"http://cseng.aw.com/book/0,3828,0201700735,00.html">
|
|
http://cseng.aw.com/book/0,3828,0201700735,00.html</a>
|
|
|
|
<p>The first book a C++ programmer should own. Note that
|
|
the 3rd edition (and subsequent editions like the Special
|
|
Edition) has been rewritten to cover the ISO standard
|
|
language and library.</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>Note: The URL's above are provided in plain text form so that
|
|
they will be visible on printed copies of this document.</p>
|
|
<hr>
|
|
|
|
<p>Revised
|
|
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %b %Y" startspan -->05 Nov 2001<!--webbot bot="Timestamp" endspan i-checksum="15246" --></p>
|
|
|
|
<p>© Copyright Beman Dawes, 2001</p>
|
|
</body>
|
|
</html>
|
|
|