JUC: 4_ 2. Concurrent collaboration model: producer consumer problem: if false wake-up, prevent false wake-up

How to alternate the communication between threads? Threads A and B operate on the same variable numbe=0 /** * How to alternate the communication between threads? * Threads A and B operate on the same variable numbe=0 * A++ * B-- * <p> * Question: * 1.It is safe when there are only two threads, one more + + and one more */ ...

Added by Erestar on Tue, 08 Mar 2022 02:01:46 +0200

What is communication between threads? How to realize thread communication

2.1 what is thread communication and implementation steps There are two models of inter thread communication: shared memory and message passingIn fact, thread communication is to realize the alternating work of threads and transmit information Specific steps of communication between threads: (involving upper, middle and lower parts) Create a ...

Added by dmarchman on Mon, 07 Mar 2022 05:36:46 +0200

Detailed explanation of Java concurrency conditions

1, Introduction 1. What is a Condition Any Java Object has a set of monitor methods (defined on java.lang.Object), mainly including wait(), wait(long timeout), notify() and notifyAll() methods. These methods cooperate with the synchronized synchronization keyword to realize the wait / notification mode. The Condition interface also provide ...

Added by MitchEvans on Sat, 05 Mar 2022 06:42:03 +0200

Future mode of JUC package

Future modeFuture pattern is a common design pattern in multithreading development. The core idea is asynchronous call, which makes the problem of serialization parallel and saves time.When a program executes a task, the task may execute very slowly. It cannot return results immediately, but it can return a contract. Therefore, when the task is ...

Added by jdesilva on Fri, 25 Feb 2022 05:22:28 +0200

Analysis of CyclicBarrier source code

1, Introduction It's best to familiarize yourself with CyclicBarrier before you understand it CountDownLatch The two tool classes can achieve the effect of thread waiting, but their focus is different. CountDownLatch can only be used once. When its counter is 0, it will wake up all waiting threads in the synchronization queue, and then it will ...

Added by mikanmao on Thu, 24 Feb 2022 13:44:24 +0200

A brief analysis of JUC source code Semaphore

Related reading A brief analysis of JUC source code AbstractQueuedSynchronizerBrief analysis of JUC source code ReentrantLock brief introduction Semaphore is an auxiliary class for thread synchronization. It internally maintains the number of threads currently accessing itself and provides a synchronization mechanism; Using Semaphore, you ca ...

Added by the-botman on Sat, 19 Feb 2022 17:13:06 +0200

Difference between ReentranLock and Synchronized

ReentranLock Lock interface is a built-in attribute, not built-in in java language. It can realize synchronous access ReentranLock is the implementation class of Lock interface After java SE 5, a Lock interface (and related implementation classes) is added to implement the Lock function However, it is used to acquire and release locks expl ...

Added by AtomicRax on Fri, 18 Feb 2022 18:08:16 +0200

XV Thread pool

Advantages of thread pool: As long as the work of thread pool is to control the number of running threads, put the tasks in the queue during processing, and then start these tasks after the threads are created. If the number of threads exceeds the maximum number, the threads exceeding the number will queue up and wait until other threads ar ...

Added by Lucnet on Fri, 18 Feb 2022 09:43:24 +0200

Java Memory Model for Java Concurrent Programming

1. Java Memory Model JMM is the Java Memory Model, which defines the abstract concepts of main memory and working memory from the Java level. The bottom layer corresponds to CPU register, cache, hardware memory, CPU instruction optimization, etc. JMM is reflected in the following aspects: Atomicity - ensures that instructions are not affe ...

Added by Alkimuz on Mon, 14 Feb 2022 16:59:16 +0200

Use and principle of AQS related implementation classes

1,AQS 1.1 overview Its full name is AbstractQueuedSynchronizer. It is the framework of blocking lock and related synchronizer tools, which has its own characteristics The state attribute is used to represent the state of resources (exclusive mode and shared mode). Subclasses need to define how to maintain this state and control how ...

Added by rainerpl on Mon, 14 Feb 2022 03:07:35 +0200