Archive Post
Home / Intrinsic Locking Revisited
Defining Tasks That Return a Result – Concurrency: Part II
Defining Tasks That Return a Result Implementations of the java.util.concurrent.Callable<V> functional interface represent tasks that…
Submitting Tasks and Handling Task Results – Concurrency: Part II
Submitting Tasks and Handling Task Results Tasks executed by executor services are represented by implementations…
Scheduling One-Shot Tasks – Concurrency: Part II
Scheduling One-Shot Tasks The overloaded schedule() method of the ScheduledExecutorService interface allows either a Runnable…
Task Cancellation 2 – Concurrency: Part II
The scheduledTaskCancellation() method at (13) illustrates how to cancel a submitted task by scheduling a…
The Fork/Join Framework 2 – Concurrency: Part II
Table 23.3 Task-Defining Classes Classes in the java.util.concurrent package to define tasksDescriptionForkJoinTask<V>Abstract class that defines…
The Fork/Join Framework – Concurrency: Part II
23.3 The Fork/Join Framework To harness the benefits of multicore architectures, the Fork/Join Framework in…
Immutability 2 – Concurrency: Part II
All reads and writes are atomic actions for all volatile fields, regardless of whether they…
Atomic Variables 2 – Concurrency: Part II
The while loop ensures that the value is always incremented by 1 from the previous…
Immutability – Concurrency: Part II
Immutability We have seen how to implement thread-safe access to shared resources in synchronized code…
Reentrant Lock 2 – Concurrency: Part II
More details are provided below about the lock acquisition policy implemented by the methods mentioned…