In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/02 Report--
This article mainly explains "how to use Semaphore in Java". Interested friends may wish to have a look at it. The method introduced in this paper is simple, fast and practical. Let's let the editor take you to learn how to use Semaphore in Java.
The role of Semaphore is to control the number of concurrency threads. The simple explanation is that if we start 10 threads working on tasks, and if we use the Semaphore, we can make these 10 concurrent tasks execute only 2 at the same time. Because the constructor of Semaphore needs to pass a parameter of type int, this parameter is the number of concurrency that the control thread can allow.
In the above code, we open three threads at the same time, because we do not add a synchronous method, so the three open threads are executed asynchronously. So in actual task development, what if we need to control the number of concurrency of multithreads? For example, when we operate IO, we may have a high share of CPU due to factors such as system memory or disk, so we have to adjust the concurrent number of threads, otherwise the system may get stuck. That's when we use Semaphore. It is also relatively simple to use: when the acquire () method is called, the license issued by Semaphore is obtained, and the license is returned when the release () method is called. The number of licenses in Semaphore is determined by the parameters of the constructor that created the Semaphore object. There are as many licenses as the parameter value, and how many threads can execute concurrently at the same time, because threads that are not licensed will not execute.
We look at the output, although we have three threads started, but only two thread tasks are executed at the same time, because we set the parameter of the Semaphore constructor to 2. In other words, only two tasks can be executed at the same time, and if one thread has finished executing the task, the other thread will execute it. The reason is that the previous thread has returned the license, and the current thread can re-obtain the license.
At this point, I believe you have a deeper understanding of "the use of Semaphore in Java". You might as well do it in practice. Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.