Thread pool for concurrent programming
Thread usage problems
Frequent creation and destruction of threadsToo many threads will cause the overhead of CPU resources.Context switching (consuming CPU resources).
Thread reuse
Connection pool, object pool, memory pool, thread pool.
The core of pooling Technology: reuse
Thread pool
Create a series of threads in advance and save t ...
Added by toasty2 on Fri, 14 Jan 2022 20:52:12 +0200
Java multithreading development from simple to difficult
preface
Tip: when you read this article, you must have a strong desire to learn about multithreading. Then this article will describe in detail the simple use and in-depth understanding of Synchronized keywords, deadlocks, simple use in thread communication, waiting notification mechanism, thread lounge, producer and consumer operation v ...
Added by BooRadLey on Fri, 14 Jan 2022 19:43:35 +0200
Notes after reading the art of Java Concurrent Programming - 13 atomic operation classes in Java (Chapter 7)
Notes after reading the art of Java Concurrent Programming - 13 atomic operation classes in Java (Chapter 7)
1. Atomic update basic type class
The Atomic package provides the following three classes for updating basic types in an Atomic way:
AtomicBoolean: atomic update boolean typeAtomicInteger: atomic update integerAtomicLong: atomic u ...
Added by Ferdog on Fri, 14 Jan 2022 17:21:50 +0200
Concurrent programming: sharing and collaboration between threads
In the last article, we introduced the basis of threading. I believe everyone has a general understanding. This article is about thread sharing and collaboration. Let's have a look!
1, Sharing between threads
Synchronized
synchronized is a keyword in Java. It is a kind of synchronous lock. It modifies the following objects:
1. Mod ...
Added by winkhere on Thu, 13 Jan 2022 21:49:18 +0200
[concurrent programming: thread pool] is proficient in the source code of java thread pool
Let's look at a piece of code and think about two questions
Take these two questions to see the source code, get twice the result with half the effort!
Why is it the fourth error?
Why does the third execute first and the second execute later?
Construction method analysis
public ThreadPoolExecutor(int corePoolSize,
...
Added by baby_g on Wed, 12 Jan 2022 21:27:18 +0200
JUC foundation, it's enough to read this article
JUC Foundation
1. Tube side: monitor, monitor, lock
It ensures that only one process is active in the pipe at the same time, that is, the operations defined in the pipe are called by only one process at the same time (implemented by the compiler) However, this does not guarantee that the processes are executed in the designed order
Synchroni ...
Added by jonniejoejonson on Sun, 09 Jan 2022 06:49:02 +0200
ReentrantLock usage and source code analysis
Basic introduction
Compared with synchronized, it has the following characteristics
InterruptibleCan be set to fair lockYou can set the timeoutMultiple condition variables are supported, that is, threads that do not meet the conditions can be placed in different collections to wait
Like synchronized, reentrant is supported
Basic grammar ...
Added by brendandonhue on Sun, 09 Jan 2022 05:17:50 +0200
JAVA Concurrent Programming -- AQS concept and source code reading of AbstractQueuedSynchronizer
1. What is AQS2. What can I do3. Why is AQS the most important cornerstone of JUC content4.AQS internal architecture5. Interpret AQS from our ReentrantLock6. Summary 1. What is AQSAQS -- full name AbstractQueuedSynchronizer, abstract queue synchronizer.We can see the explanation in the source code:In other words, it is a heavyweight basic frame ...
Added by techrat on Wed, 05 Jan 2022 06:43:59 +0200
CountDownLatch source code reading
brief introduction
CountDownLatch is a thread synchronization tool provided by JUC. Its main function is to coordinate the synchronization between multiple threads, or to realize the communication between threads
CountDown, a number, can only be counted down. Latch, latch. Just look at the name to see how this CountDownLatch is used. Ha ha. Cou ...
Added by hmb3801 on Tue, 04 Jan 2022 19:10:31 +0200
Design pattern used by AQS - template method pattern
AQS adopts the standard template design mode and provides the following methods:
// Exclusive Mode
public final void acquire(int arg);
public final boolean release(int arg);
// Exclusive interruptible
public final void acquireInterruptibly(int arg)
throws InterruptedException;
// Exclusive with timeout
pub ...
Added by Anyaer on Mon, 03 Jan 2022 03:48:03 +0200