Concurrent Programming in JavaTM_ Design - Lea_ Doug.pdf

(3186 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Copyright
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in this book and Addison-Wesley was
aware of a trademark claim, the designations have been printed in initial caps or all caps.
Duke™ designed by Joe Palrang.
Sun Microsystems, Inc. has intellectual property rights relating to implementations of the
technology described in this publication. In particular, and without limitation, these intellectual
property rights may include one or more U.S. patents, foreign patents, or pending applications.
Sun, Sun Microsystems, the Sun Logo, and all Sun, Java, Jini, and Solaris based trademarks and
logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and
other countries. UNIX is a registered trademark in the United States and other countries,
exclusively licensed through X/Open Company, Ltd.
As used in this book, the terms "Java virtual machine" and "JVM" mean a virtual machine for the
Java platform.
THIS PUBLICATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
NON-INFRINGEMENT.
THIS PUBLICATION COULD INCLUDE TECHNICAL INACCURACIES OR
TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE
INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW
EDITIONS OF THE PUBLICATION. SUN MICROSYSTEMS, INC. MAY MAKE
IMPROVEMENTS AND/OR CHANGES IN ANY TECHNOLOGY, PRODUCT, OR
PROGRAM DESCRIBED IN THIS PUBLICATION AT ANY TIME.
The author and publisher have taken care in the preparation of this document, but make no
expressed or implied warranty of any kind and assume no responsibility for errors or omissions.
No liability is assumed for incidental or consequential damages in connection with or arising out
of the use of the information or programs contained herein.
879022790.021.png 879022790.022.png 879022790.001.png 879022790.002.png 879022790.003.png
 
Library of Congress Card Number 99-066823
Copyright © 2000 by Addison Wesley Longman, Inc. All rights reserved. No part of this
publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any
means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of
the publisher. Printed in the United States of America. Published simultaneously in Canada.
Text printed on recycled and acid-free paper.
2 3 4 5 6 7 - MA - 02 01 00 99
Second printing, November 1999
Top
879022790.004.png 879022790.005.png 879022790.006.png 879022790.007.png 879022790.008.png
 
Acknowledgments
This book began as a small set of Web pages that I put together in spring 1995, while trying to
make sense of my own early attempts to use Java concurrency features in experimental
development efforts. Then it grew; first on the World Wide Web, where I extended, expanded, and
removed patterns to reflect my and other people's increasing experience with Java concurrency;
and now into this book, which places patterns within the broader perspective of concurrent
software development. The web pages also live on, but they now serve as a supplement to the
conceptual presentations best suited to book form.
There have been many changes along the way, in a process that has benefited from commentary,
suggestions, errata reports, and exchanges with many kind and knowledgeable people. These
include Ole Agesen, Tatsuya Aoyagi, Taranov Alexander, Moti Ben-Ari, Peter Buhr, Bruce
Chapman, Il-Hyung Cho, Colin Cooper, Kelly Davis, Bruce Eckel, Yacov Eckel, Saleh
Elmohamed, Ed Falis, Randy Farmer, Glenn Goldstein, David Hanson, Jyrki Heikkinen, Alain
Hsiung, Jerry James, Johannes Johannsen, Istvan Kiss, Ross Knippel, Bil Lewis, Sheng Liang,
Jonathan Locke, Steve MacDonald, Hidehiko Masuhara, Arnulf Mester, Mike Mills, Trevor
Morris, Bill Pugh, Andrew Purshottam, Simon Roberts, John Rose, Rodney Ryan, Joel Rosi-
Schwartz, Miles Sabin, Aamod Sane, Beverly Sanders, Doug Schmidt, Kevin Shank, Yukari
Shirota, David Spitz, David Stoutamire, Henry Story, Sumana Srinivasan, Satish Subramanian,
Jeff Swartz, Patrick Thompson, Volker Turau, Dennis Ulrich, Cees Vissar, Bruce Wallace, Greg
Wilson, Grant Woodside, Steve Yen, and Dave Yost, as well as people who submitted anonymous
electronic mail commentary.
The members of Ralph Johnson's patterns seminar (especially Brian Foote and Ian Chai) read
through early forms of some patterns and suggested many improvements. Raj Datta, Sterling
Barrett, and Philip Eskelin of the New York City Patterns Group, and Russ Rufer, Ming Kwok,
Mustafa Ozgen, Edward Anderson, and Don Chin of the Silicon Valley Patterns Group performed
similar valuable service for preliminary versions of the second edition.
Official and unofficial reviewers of the first- and second-edition manuscripts made helpful
comments and suggestions on tight schedules. They include Ken Arnold, Josh Bloch, Joseph
Bowbeer, Patrick Chan, Gary Craig, Desmond D'Souza, Bill Foote, Tim Harrison, David
Henderson, Tim Lindholm, Tom May, Oscar Nierstrasz, James Robins, Greg Travis, Mark Wales,
Peter Welch, and Deborra Zukowski. Very special thanks go to Tom Cargill for his many insights
and corrections, as well as for permission to include a description of his Specific Notification
pattern. Very special thanks also go to David Holmes for, among many contributions, helping to
879022790.009.png 879022790.010.png 879022790.011.png 879022790.012.png 879022790.013.png
 
develop and extend material for tutorials that in turn became included in the second edition.
Rosemary Simpson contributed numerous improvements in the course of creating the index. Ken
Arnold patiently helped me deal with FrameMaker. Mike Hendrickson and the editorial crew at
Addison-Wesley have been continually supportive.
This book would not have been possible without the generous support of Sun Labs. Thanks
especially to Jos Marlowe and Steve Heller for providing opportunities to work collaboratively on
fun and exciting research and development projects.
Thanks above all to Kathy, Keith, and Colin for tolerating all this.
Doug Lea, September, 1999
Top
879022790.014.png 879022790.015.png 879022790.016.png 879022790.017.png 879022790.018.png
 
Zgłoś jeśli naruszono regulamin