⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aopintro.html

📁 Concurrent Programming in Java
💻 HTML
字号:
<html><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><html> <head><title>Concurrent Programming in Java</title></head><BODY bgcolor=#ffffee vlink=#0000aa link=#cc0000><H1>Concurrent Programming in Java</H1>By <A HREF="javascript:if(confirm('http://g.oswego.edu/dl/  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://g.oswego.edu/dl/'" tppabs="http://g.oswego.edu/dl/"> Doug Lea</A>.  <P>Draft Version 2. Comments welcome! <P> Threads allow multiple concurrent activities to take place insidea single Java program or Applet.  In non-threaded languages, there isonly one running thread, so there is only one activity going on in theprogram at a time. But in Java, you can create a new independentactivity whenever you like, by creating a thread and setting it inmotion. This tutorial and set of associated design patterns discusses different ways of thinking about, designing,and implementing multithreaded code in Java.<p><em>Prerequisites:</em> You should be familiar with:<ul>  <li> Basic <a href="javascript:if(confirm('http://java.sun.com/  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://java.sun.com/'" tppabs="http://java.sun.com/">Java</a> syntax and       mechanics, including Applet  construction.  <li> Basic object-oriented design concepts. For a standard      introduction, see Grady Booch's book <em>Object Oriented Analysis and      Design</em>, Benjamin Cummings, 1994. For a more advanced      system-oriented text, see the on-line version of the book <A      HREF="javascript:if(confirm('http://g.oswego.edu/dl/oosdw3/index.html  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://g.oswego.edu/dl/oosdw3/index.html'" tppabs="http://g.oswego.edu/dl/oosdw3/index.html">Object Oriented      System Development</A>. The <a      href="javascript:if(confirm('http://galaxy.einet.net/galaxy/Engineering-and-Technology/Computer-Technology/Object-Oriented-Systems/ricardo-devis/oo.html  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://galaxy.einet.net/galaxy/Engineering-and-Technology/Computer-Technology/Object-Oriented-Systems/ricardo-devis/oo.html'" tppabs="http://galaxy.einet.net/galaxy/Engineering-and-Technology/Computer-Technology/Object-Oriented-Systems/ricardo-devis/oo.html">      Galaxy OO Page</a> is a good place to find other WWW OO      resources.  <li> Basic ideas of <A      HREF="javascript:if(confirm('http://st-www.cs.uiuc.edu/users/patterns/patterns.html  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://st-www.cs.uiuc.edu/users/patterns/patterns.html'" tppabs="http://st-www.cs.uiuc.edu/users/patterns/patterns.html"> design      patterns</A>, in particular those      described in the Gamma, Helm, Johnson, and Vlissides <A      HREF="javascript:if(confirm('http://st-www.cs.uiuc.edu/users/patterns/Books.html  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://st-www.cs.uiuc.edu/users/patterns/Books.html'" tppabs="http://st-www.cs.uiuc.edu/users/patterns/Books.html"> Design      Patterns</A> book.</ul><h2>Contents</h2><p><strong>  These documents are all under construction. Expectchanges.  Comments and suggestions would be very welcome.  </strong><p><dl>  <dt> <a href="javaconc.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/javaconc.html">Java Concurrency Mechanics.</a>  <dd>  A tutorial introducing Java Runnables, thread creation and        control, object synchronization, and concurrency control.  <dt> Threads.  <dd>      <dl>        <dt> <a href="when.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/when.html"> When to Create Threads</a>        <dd> Some considerations and guidelines for using the following             design patterns.                    <dt> <a href="service.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/service.html"> Service Threads and Gateways</a>        <dd> Thread-based analogs of methods, and ways to organize them.        <dt> <a href="waiters.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/waiters.html"> Waiter Threads </a>        <dd> Client-constructed threads that wait out regular method calls.        <dt> <a href="early.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/early.html"> Early Reply Threads</a>        <dd> Server-constructed threads that are triggered by method calls.        <dt> <a href="auton.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/auton.html"> Autonomous Loops</a>        <dd> Threads running continuous loops.        <dt> <a href="activityFlow.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/activityFlow.html"> Activity Flow</a>        <dd> Multithreaded, multi-object activity sequences. Examples:            <ul>              <li> <a href="mondrian.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/mondrian.html"> Push Flow</a>            </ul>      </dl>         <dt> Concurrent Objects.  <dd>       <dl>        <dt> <a href="synchDesign.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/synchDesign.html">Designing Objects for Concurrency.</a>        <dd> Introductory discussions of issues seen in the following            design patterns.        <dt> <a href="statebased.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/statebased.html">State-based Notifications</a>        <dd> Synchronizing according to logical object state.        <dt> <a href="delegnotif.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/delegnotif.html"> Delegating Notifications</a>        <dd> Synchronization using subjects  and observers.        <dt> <a href="trans.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/trans.html"> Transactions</a>        <dd> Synchronizing arbitrary code sequences.        <dt> <a href="coordinators.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/coordinators.html">Coordinators</a>        <dd> Synchronizing other objects via wrappers.        <dt> <a href="acceptor.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/acceptor.html"> Acceptors and Event Loops </a>        <dd> Objects that accept, decode and execute requests.        <dt> <a href="balking.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/balking.html"> Balking</a>        <dd> Avoiding waits by changing protocols.        <dt> <a href="latches.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/latches.html"> Latches</a>        <dd> Synchronization conditions that change value at most once.        <dt> <a href="immut.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/immut.html"> Immutable Objects</a>        <dd> Avoiding interference by avoiding change.      </dl>  <dt> <a href="models.html" tppabs="http://www.foi.hr/~dpavlin/java/mirrors/g.oswego.edu/dl/pats/models.html">Object Models for Concurrency.</a>  <dd> Background on how to think about concurrent OO designs.</dl><p><a href="javascript:if(confirm('http://java.sun.com/  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://java.sun.com/'" tppabs="http://java.sun.com/">Java </a>is a trademark of Sun Microsystems.<p> All of these documents are copyright &#169; 1996 by the author.Some of them will be re-organized to become one part of a forthcoming bookon building reusable Java components.<hr><address><A HREF="javascript:if(confirm('http://g.oswego.edu/dl  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://g.oswego.edu/dl'" tppabs="http://g.oswego.edu/dl">Doug Lea</A></address><!-- hhmts start -->Last modified: Mon Feb 19 07:20:42 EST 1996<!-- hhmts end --></body> </html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -