2
0
mirror of https://github.com/boostorg/thread.git synced 2026-01-24 18:32:32 +00:00
Files
thread/doc/bibliography.html

146 lines
7.1 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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 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 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.&nbsp; Includes descriptions of Path
Expressions, Message Passing, and Remote Procedure Call in addition to the
basics.&nbsp;
</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.&nbsp; <a href="http://www.boost.org">http://www.boost.org</a>
<p>Boost.Threads is one of many Boost libraries.&nbsp; 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.
</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>&quot;This paper describes the evolution of language features for
multiprogramming from event queues and semaphores to critical regions and
monitors.&quot; Includes analysis of&nbsp; 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.
</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&nbsp; <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.&nbsp; 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&nbsp; <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>&nbsp; <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.
</td>
</tr>
<tr>
<td width="102" valign="top" align="left"> <b>[<a name="Schmidt">Schmidt</a>]&nbsp;</b></td>
<td width="645">
<p> Douglas C. Schmidt and Irfan Pyarali, <cite>Strategies for
Implementing POSIX Condition Variables on Win32</cite>,&nbsp; Department of Computer Science, Washington University, St. Louis, Missouri.&nbsp;
<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>]&nbsp;</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>,&nbsp; Wiley 2000, ISBN 0-471-60695-2&nbsp; <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.&nbsp; Note that the 3rd edition
(and subsequent editions like the Special Edition) has been rewritten to cover
the ISO standard language and library.
</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 -->17 Aug 2001<!--webbot bot="Timestamp" endspan i-checksum="14763" -->
</p>
<p>© Copyright Beman Dawes, 2001</p>
</body>
</html>