Group: parameters
Topic: actor machines
Topic: aliasing
Topic: critical regions
Topic: immutable files and data
Topic: managing shared memory
Topic: owned resources and data objects
Topic: parameter passing by value-result
Topic: pointers to data
Topic: process threads
Topic: race conditions
Topic: replicated data
Topic: safe use of pointers
Topic: sending an object across a network
Topic: shared information for collaborative work
| |
Summary
A shared object is referenced by several identifiers. Shared objects allow multiple interpretations of the same value, efficient access of several components, communication between processes, and shared memory for temporaries. Most shared access must be carefully controlled and may require critical regions. The act of sharing should not increase the access rights of an object. (cbb 5/80)
Subtopic: shared objects
Quote: define shared variables over the Internet with reload and update operations [»harrJ10_1998]
| Subtopic: critical region
Quote: always protect shared data with a mutex and boolean wait expressions [»birrAD_1991]
| Quote: use critical regions to update shared variables [»brinP7_1972]
| Quote: Guava monitors are always synchronized; other instances are uniquely owned by a single monitor and never need synchronizing [»bacoDF10_2000]
| Quote: while Thread is a monitor, allow access to stop, interrupt, etc by other threads; no concurrent, shared data access [»bacoDF10_2000]
| Subtopic: access right
QuoteRef: joneAK4_1976 ;;11 two variables may share an object iff 2nd has nor more rights than the first variable (done by a .replaceArrow. b)
| Subtopic: assignment
Quote: in CLU, an assignment causes sharing; after 'x:=y' both x and y refer to the same object [»liskB_1996]
| Subtopic: element pool
Quote: if capabilities include the object type, the owner may deallocate or reuse the capability's memory; allows safe deallocation of objects [»walkD7_2000]
| QuoteRef: wulfWA4_1974 ;;6 names may be common or unique -- e.g., a common element pool with unique head for each list
| Subtopic: immutable objects
Quote: CLU stores small immutable objects in variables, e.g., integers and Booleans; programs can not detect the lack of sharing [»liskB_1996]
| Quote: efficient string concatenation implies data sharing and automatic garbage collection [»boehHJ12_1995]
| Subtopic: mutable objects
Quote: mutable objects may be shared as long as pointer manipulation is disallowed [»liskB_1996]
| Subtopic: problems with shared objects
Quote: Java allows objects of a class to mutually access their private fields; undermines controlled access to individual objects [»knieG5_2001]
|
Related Topics
Group: parameters (10 topics, 145 quotes)
Topic: actor machines (2 items)
Topic: aliasing (28 items)
Topic: critical regions (58 items)
Topic: immutable files and data (59 items)
Topic: managing shared memory (74 items)
Topic: owned resources and data objects (12 items)
Topic: parameter passing by value-result (10 items)
Topic: pointers to data (55 items)
Topic: process threads (25 items)
Topic: race conditions (33 items)
Topic: replicated data (51 items)
Topic: safe use of pointers (102 items)
Topic: sending an object across a network (11 items)
Topic: shared information for collaborative work (36 items)
|