Map
Index
Random
Help
th

QuoteRef: bacoDF10_2000

topics > all references > ThesaHelp: references a-b



ThesaHelp:
ACM references a-e
ThesaHelp:
references a-b
Topic:
race conditions
Topic:
aliasing
Topic:
managing shared memory
Group:
data value
Topic:
non-primitive values
Topic:
namespace
Topic:
owned resources and data objects
Topic:
safe use of pointers
Topic:
concurrency control by monitors
Topic:
shared objects
Topic:
process threads
Topic:
sending an object across a network
Topic:
object and value equivalence
Topic:
immutable files and data
Topic:
updating information with locking
Topic:
memory management by regions or memory pool
Topic:
flavor analysis and typestates for supplementary type checking
Topic:
function signature
Topic:
concurrent operations
Topic:
message queues for communication

Reference

Bacon, D.F., Strom, R.E., Tarafdar, A., "Guava: a dialect of Java without data races", Conference on Object-Oriented Programming, Systems, and Languages (OOPSLA '00), Minneapolis, MN, ACM SIGPLAN Notices, 35, 10, October 2000, pp. 382-400. Google

Quotations
382 ;;Quote: the concurrency model of Java makes it difficult to allow unsynchronized access to shared objects
382 ;;Quote: Guava disallows unsynchronized shared access by classifying every object as a shared monitor, an unshared value, or a shareable object within a single thread
383 ;;Quote: Java non-references are values of primitive types without aliasing or sharing
383+;;Quote: Guava allows user-defined classes to be mutable values and it identifies unshared objects
383 ;;Quote: an unshared Guava object is permanently owned by a shared monitor or unshared value; no other references
383 ;;Quote: Guava monitors are always synchronized; other instances are uniquely owned by a single monitor and never need synchronizing
383 ;;Quote: while Thread is a monitor, allow access to stop, interrupt, etc by other threads; no concurrent, shared data access
383 ;;Quote: use Guava values to pass complex data structures between monitors
383 ;;Quote: Guava values are stored in variables; no references, value equality, method export, null value, deep copying
383+;;Quote: Guava uses deep-copying for values and objects within values; does not copy references to monitors
383 ;;Quote: Guava has a 'move' operator that sets the source to null
383 ;;Quote: pass values by reference when source is dead or when neither copy will be updated; e.g., if value has no update methods
385 ;;Quote: Guava methods are read or update; by default, read methods and update constructors
385 ;;Quote: avoid deep copies by moving mutable values
385 ;;Quote: Guava has non-exclusive read locks and exclusive update locks; better than Java's synchronized methods
385 ;;Quote: Guava variables assigned to regions with the same owner, i.e., a monitor, value, or no owner for new objects
385 ;;Quote: Guava parameters may be kept or lent; a lent parameter is not retained; a kept parameter has the same owner as 'this
285 ;;Quote: Guava methods should return newly allocated objects since they may be linked into any region
390 ;;Quote: use Flanagan and Abadi's race-free type system to prove that Guava objects are never concurrently accessed
390+;;Quote: in Guava every variable has a region type and every method has a region type signature
390+;;Quote: read methods of Guava monitors can execute concurrently
392 ;;Quote: global methods in Guava might acquire a lock; maybe not idempotent; if also update, can not use from read methods
392+;;Quote: local read methods in Guava are idempotent unless they return a new value; can replace multiple calls with a single call
396 ;;Quote: Guava avoids lock fields in object headers; only monitors require locks
396 ;;Quote: implementations of monitors typically do not guarantee mutual exclusion; too restrictive
396 ;;Quote: message-passing is the major alternative to monitors
396+;;Quote: message-passing usually restricts the allowable data types; e.g., occam only transmits scalars and array of scalars
397 ;;Quote: Guava implements monitors with concurrent readers and exchange of richer data types; guarantees no data races

Related Topics up

ThesaHelp: ACM references a-e (259 items)
ThesaHelp: references a-b (396 items)
Topic: race conditions (30 items)
Topic: aliasing (28 items)
Topic: managing shared memory (74 items)
Group: data value   (19 topics, 428 quotes)
Topic: non-primitive values (11 items)
Topic: namespace (19 items)
Topic: owned resources and data objects (12 items)
Topic: safe use of pointers (102 items)
Topic: concurrency control by monitors (24 items)
Topic: shared objects (13 items)
Topic: process threads (25 items)
Topic: sending an object across a network (11 items)
Topic: object and value equivalence (60 items)
Topic: immutable files and data (57 items)
Topic: updating information with locking (20 items)
Topic: memory management by regions or memory pool (17 items)
Topic: flavor analysis and typestates for supplementary type checking (68 items)
Topic: function signature (21 items)
Topic: concurrent operations (22 items)
Topic: message queues for communication (36 items)

Collected barberCB 2/01
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.