Concurrency Quotes
Quotes tagged as "concurrency"
Showing 1-16 of 16
“It is far easier to design a class to be thread-safe than to retrofit it for thread safety later.”
― Java Concurrency in Practice
― Java Concurrency in Practice
“Just as it is a good practice to make all fields private unless they need greater visibility, it is a good practice to make all fields final unless they need to be mutable.”
― Java Concurrency in Practice
― Java Concurrency in Practice
“Sometimes abstraction and encapsulation are at odds with performance — although not nearly as often as many developers believe — but it is always a good practice first to make your code right, and then make it fast.”
― Java Concurrency in Practice
― Java Concurrency in Practice
“Locking can guarantee both visibility and atomicity; volatile variables can only guarantee visibility.”
― Java Concurrency in Practice
― Java Concurrency in Practice

“All race conditions, deadlock conditions, and concurrent update problems are due to mutable variables.”
― Clean Architecture
― Clean Architecture
“Whenever more than one thread accesses a given state variable, and one of them might write to it, they all must coordinate their access to it using synchronization.”
― Java Concurrency in Practice
― Java Concurrency in Practice
“When a field is declared volatile, the compiler and runtime are put on notice that this variable is shared and that operations on it should not be reordered with other memory operations. Volatile variables are not cached in registers or in caches where they are hidden from other processors, so a read of a volatile variable always returns the most recent write by any thread.”
― Java Concurrency in Practice
― Java Concurrency in Practice
“From the perspective of a class C, an alien method is one whose behavior is not fully specified by C. This includes methods in other classes as well as overrideable methods (neither private nor final) in C itself. Passing an object to an alien method must also be considered publishing that object. Since you can’t know what code will actually be invoked, you don’t know that the alien method won’t publish the object or retain a reference to it that might later be used from another thread.”
― Java Concurrency in Practice
― Java Concurrency in Practice
“Immutable objects are simple. They can only be in one state, which is carefully controlled by the constructor. One of the most difficult elements of program design is reasoning about the possible states of complex objects. Reasoning about the state of immutable objects, on the other hand, is trivial.
Immutable objects are also safer. Passing a mutable object to untrusted code, or otherwise publishing it where untrusted code could find it, is dangerous — the untrusted code might modify its state, or, worse, retain a reference to it and modify its state later from another thread. On the other hand, immutable objects cannot be subverted in this manner by malicious or buggy code, so they are safe to share and publish freely without the need to make defensive copies.”
― Java Concurrency in Practice
Immutable objects are also safer. Passing a mutable object to untrusted code, or otherwise publishing it where untrusted code could find it, is dangerous — the untrusted code might modify its state, or, worse, retain a reference to it and modify its state later from another thread. On the other hand, immutable objects cannot be subverted in this manner by malicious or buggy code, so they are safe to share and publish freely without the need to make defensive copies.”
― Java Concurrency in Practice
“The possibility of incorrect results in the presence of unlucky timing is so important in concurrent programming that it has a name: a race condition. A race condition occurs when the correctness of a computation depends on the relative timing or interleaving of multiple threads by the runtime; in other words, when getting the right answer relies on lucky timing.”
― Java Concurrency in Practice
― Java Concurrency in Practice
“Compound actions on shared state, such as incrementing a hit counter (read-modify-write) or lazy initialization (check-then-act), must be made atomic to avoid race conditions. Holding a lock for the entire duration of a compound action can make that compound action atomic. However, just wrapping the compound action with a synchronized block is not sufficient; if synchronization is used to coordinate access to a variable, it is needed everywhere that variable is accessed. Further, when using locks to coordinate access to a variable, the same lock must be used wherever that variable is accessed.”
― Java Concurrency in Practice
― Java Concurrency in Practice
“Debugging tip: For server applications, be sure to always specify the -server JVM command line switch when invoking the JVM, even for development and testing. The server JVM performs more optimization than the client JVM, such as hoisting variables out of a loop that are not modified in the loop; code that might appear to work in the development environment (client JVM) can break in the deployment environment (server JVM).”
― Java Concurrency in Practice
― Java Concurrency in Practice
“Once an object escapes, you have to assume that another class or thread may, maliciously or carelessly, misuse it. This is a compelling reason to use encapsulation: it makes it practical to analyze programs for correctness and harder to violate design constraints accidentally.”
― Java Concurrency in Practice
― Java Concurrency in Practice
“Accessing shared, mutable data requires using synchronization; one way to avoid this requirement is to not share. If data is only accessed from a single thread, no synchronization is needed. This technique, thread confinement, is one of the simplest ways to achieve thread safety. When an object is confined to a thread, such usage is automatically thread-safe even if the confined object itself is not.”
― Java Concurrency in Practice
― Java Concurrency in Practice
“Virding's First Rule of Programming:
Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang.”
―
Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang.”
―
“Если вообще есть какой-то тезис, который отражает всю мудрость политической науки, то он, наверное, состоит именно в этом: конкуренция — это кровообращение, монополизация — это инсульт. Эффект вы можете наблюдать своими глазами вокруг себя.”
―
―
All Quotes
|
My Quotes
|
Add A Quote
Browse By Tag
- Love Quotes 101k
- Life Quotes 79k
- Inspirational Quotes 75.5k
- Humor Quotes 44.5k
- Philosophy Quotes 31k
- Inspirational Quotes Quotes 29k
- God Quotes 27k
- Truth Quotes 24.5k
- Wisdom Quotes 24.5k
- Romance Quotes 24.5k
- Poetry Quotes 23k
- Life Lessons Quotes 22.5k
- Quotes Quotes 21k
- Death Quotes 20.5k
- Happiness Quotes 19k
- Hope Quotes 18.5k
- Faith Quotes 18.5k
- Travel Quotes 18k
- Inspiration Quotes 17k
- Spirituality Quotes 15.5k
- Relationships Quotes 15.5k
- Religion Quotes 15.5k
- Motivational Quotes 15.5k
- Life Quotes Quotes 15k
- Love Quotes Quotes 15k
- Writing Quotes 15k
- Success Quotes 14k
- Motivation Quotes 13k
- Time Quotes 13k
- Science Quotes 12k