| D. Lea: Concurrent Programming in JAVA. Design Principles and Patterns, Addison-Wesley 1997 |
....to realize more flexible synchronization schemes. In that context, things become evenmore complicated by the fact that monitors and condition variables w hich have been related, but separate entities in the original monitor concept [8] have been merged into a single unit, namely an object [12, 13]. In practice that means that every Java object used as a monitor possesses only a single, implicit condition variable which is the object itself. Therefore, monitor based solutions of synchronization problems using twoormore different condition variables for example, the rather straightforward ....
D. Lea: Concurrent Programming in Java. Design Principles and Patterns (Second Edition). Addison-Wesley, Reading, MA, 2000.
....programs in Java synchronization primitives. This paper presents such a translation that preserves global invariants. The translation uses specific notification locks [3] also called notification objects [4] and is classified in a design pattern called the specific notification pattern [3, 5]. The rest of the paper is organized as follows: Section 2 overviews the formal method to develop concurrent programs presented in [1, 2] Section 3 reviews Java synchronization primitives. Section 4 presents our translation from coarse grained solutions to fine grained Java programs. The section ....
....of this object. However, a signal on any condition variable must be translated to notifyAll( and the resulting code will be inefficient. 3. 2 Specific notification locks Cargill devised a design pattern called a specific notification which uses objects somewhat like condition variables [3, 5]. Such objects are called specific notification locks [3] or notification objects [4] Using a specific notification lock obj, two methods within the same object, say method1 and method, can synchronize with each other as follows, where condition( is assumed to be a synchronized method [4] in ....
D. Lea. Concurrent Programming in Java, Design Principles and Patterns. Addison Wesley Publishing Co., 1997. 11
....drawn for concurrency back in OO languages and especially for the JCSP (CSP for Java) package library. 1 Introduction and Motivation Classical occam[1] has a copy semantics data is copied from the sender to the receiver at the point of synchronisation. In contrast, communication in JCSP [2, 3, 4, 5, 6] goes with the flow of Java and has a reference semantics only object references are sent. The same channel synchronisation semantics of CSP [7, 8, 9] applies to both occam and JCSP, but the after effects are different. In occam, the sender and receiver hold separate copies of the communicated ....
....variable, space is reserved in mobilespace for its initial mobile data, along with room for a pointer to that data that pointer is the shadow of the mobile variable. For each instance of a PROCedure, F.R.M.Barnes and P.H. Welch Mobile Data: an occam Experiment 249 DATA TYPE FOO MOBILE RECORD [4]INT dest: MOBILE [32]BYTE payload: FOO a, b: SEQ . shadow (a) shadow (b) 4]INT shadow(payload) 32]BYTE [4]INT shadow(payload) 32]BYTE Figure 1: Example layout in mobile space for FOO a,b FUNCTION or operator requiring mobilespace, space is reserved in the caller s ....
[Article contains additional citation context not shown here]
D.Lea. Concurrent Programming in Java (Second Edition): Design Principles and Patterns. The Java Series. Addison-Wesley, 1999. section 4.5.
....24. The object oriented paradigm is often applied in the context of distributed systems with multiple cooperating processes. A variant of Speculate about Domain Objects (p. 20) may be applied to infer which processes exist, how they are launched, how they get terminated and how they interact. See [Lea96a] for some typical patterns and idioms that may be applied in concurrent programming. 25. Reconstruct the Persistent Data Reconstruct the Persistent Data Recover objects that are so valuable that they are stored in a database system. Problem You do not know which objects are critical for the ....
Doug Lea, Concurrent Programming in Java, Design Principles and Patterns, Addison-Wesley, The Java Series, 1996.
....4 Implement a protocol to allow threads to initially join (and rejoin) the thread pool. For bound thread handle associations, the follower must first add its condition variable to the map in the thread pool and then call wait( on it. This allows the leader to use the Specific Notification pattern [Lea99a] to hand off an event to a specific follower thread. For example, our front end communication servers must maintain a bound pool of follower threads, which is managed as follows: int Bound LF Thread Pool: join (Thread Context context) Step (a) wait as a follower or become a leader. ....
....hand off mechanism. Unbound handle thread associations do not require event hand offs between leader and follower threads. For bound handle thread associations, however, the leader thread must be prepared to hand off an event to a designated follower thread. The Specific Notification pattern [Lea99a] can be used to implement this hand off scheme. Each follower thread has its own synchronizer, such as a semaphore or condition variable, and a set of these synchronizers is maintained by the thread pool. When an event occurs, the leader thread can locate and use the appropriate synchronizer to ....
D. Lea: Concurrent Programming in Java, Design Principles and Patterns, 2nd edition, Addison-Wesley, 1999.
....programs in Java synchronization primitives. This paper presents such a translation that preserves global invariants. The translation uses specific notification locks [3] also called notification objects [4] and is classified in a design pattern called the specific notification pattern [3, 5]. The rest of the paper is organized as follows: Section 2 overviews the formal method to develop concurrent programs presented in [1, 2] Section 3 reviews Java synchronization primitives. Section 4 presents our translation from coarse grained solutions to fine grained Java programs. The section ....
....of this object. However, a signal on any condition variable must be translated to notifyAll( and the resulting code will be inefficient. 3. 2 Specific notification locks Cargill devised a design pattern called a specific notification which uses objects somewhat like condition variables [3, 5]. Such objects are called specific notification locks [3] or notification objects [4] Using a specific notification lock obj, two methods within the same object, say method1 and method2, can synchronize with each other as follows, where condition( is assumed to be a synchronized method [4] ....
D. Lea. Concurrent Programming in Java, Design Principles and Patterns. Addison Wesley Publishing Co., 1997. 11
....preliminary semantical analysis. In addition, we removed the timed versions of the synchronization statements and any exception handling, since these are currently not handled in our algorithm. The majority of our examples came from Doug Lea s book on Java concurrency [11] and its Web supplement [12]. For most of these examples Lea gives only the classes implementing various synchronization schemes, sometimes with a brief example of their use in concurrent programs. We used these synchronization schemes to construct complete multi threaded programs. We selected sizes of the examples that ....
D. Lea. Concurrent programming in Java. Design principles and patterns, online supplement. http://gee.cs.oswego.edu/dl/cpj/index.html, Sept. 1998.
....through the notion of active objects : ffl Caromel and al are developing Java which is based on active objects and uses a library that is itself extensible by the programmers. This work is based on Eioeel [3] The synchronization model is less constraint than in the Do project. Doug Lea [13] provides design principles to build concurrent applications using the Java parallel programming facilities. Also note that there exists pvm, mpi and other communication libraries interfaces for the Java language. These interfaces may be convenient to build alternate eOEcient run times instead of ....
D. Lea. Concurrent Programming in Java. Design principles and patterns. The Java Series. Addison-Wesley, 1996. ISBN 0-201-69581-2.
....that a meeting can take place only if all potential attendees will participate. An agent collects information inside a participant space, then it is frozen and moved outside: we call this phase serialization, because it is similar to what happens to a Java object which moves over the Internet [15]. Table 2 shows our specification, that includes three kinds of spaces. The StartContext is the initial space: it includes p participants and n agents, one for each meeting. Each participant space has an initial state consisting of tuples representing its agenda: some days are marked free and ....
D. Lea. Concurrent Programming in Java. Design Principles and Patterns. Addison-Wesley, 1997.
....a preliminary semantical analysis. In addition, we removed the timed versions of the synchronization statements and any exception handling, since these are currently not handled in our algorithm. The majority of our examples came from Doug Lea s book on Java concurrency [9] and its Web supplement [10]. For the majority of these examples Lea gives only the classes implementing various synchronization schemes, sometimes with a brief example of their use in concurrent programs. We used these synchronization schemes to construct complete multi threaded programs. For example, given the class ....
....command onto a heater to either turn on or turn off. The three threads implementing these three entities communicate via bounded synchronized buffers. based on p. 227, 9] HeatingSystemPutTake Same as the HeatingSystem example, except that threads communicate via zero capacity put take connectors [10]. based on p. 227, 9] PCTwoLockQueue Two producers and two consumers operate on a synchronized queue that uses different locks for putting elements at the end of the queue and taking elements from the front of the queue. based on p. 76 and p. 144, 9] PessimBankAccount Two users have access to ....
[Article contains additional citation context not shown here]
D. Lea. Concurrent programming in Java. Design principles and patterns, online supplement. http://gee.cs. oswego.edu/dl/cpj/index.html, Sept. 1998.
....that a meeting can take place only if all potential attendees will participate. An agent collects information inside a participant space, then it is frozen and moved outside: we call this phase serialization, because it is similar to what happens to a Java object which moves over the Internet [11]. accept agenda 3 2 1 agenda 3 2 1 go frozen ,k,s agent :AGENT agent :AGENT agenda 3 2 1 push get push Participant Participant frozen Agent frozen Agent frozen ,j,s Participant k j Figure 1: Agents System Architecture Startcontext Startcontext = 8 : fi fi ....
D. Lea. Concurrent Programming in Java. Design Principles and Patterns. Addison-Wesley, 1997.
No context found.
D. Lea: Concurrent Programming in JAVA. Design Principles and Patterns, Addison-Wesley 1997
No context found.
D. Lea: Concurrent Programming in Java, Design Principles and Patterns, 2nd edition, Addison-Wesley, 1999.
No context found.
D. Lea. Concurrent Programming in Java(TM): Design Principles and Patterns. Addison-Wesley, second edition edition, 1999.
No context found.
Doug Lea, Concurrent Programming in Java, Design Principles and Patterns, Addison Wesley, Reading, MA. 1997.
No context found.
Lea, D.: Concurrent Programming in Java (2nd edition) Design Principles and Patterns. The Java Series. Addison Wesley (2000)
No context found.
D. Lea. Concurent Programming in Java, Design Principles and Patterns. AddisonWesley, 1996.
No context found.
D. Lea. Concurrent programming in Java. Design principles and patterns, online supplement. http://gee.cs.oswego.edu/dl/ cpj/index.html, Sept. 1998.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC