Javaの同時実行ユーティリティ: Semaphore, CountDownLatch, CyclicBarrierの応用と原理
Semaphoreの使用と原理
概要
適用シナリオ:同時に共有リソースにアクセスできるスレッドの上限を制限するために使用されます。
例:各時点で最大3つのスレッドがリソースにアクセスする
package concurrency.example;
import lombok.extern.slf4j.Slf4j;
import java.util.concurrent.Semaphore;
@Slf4j(topic = "c.ResourceLimiterExample")
public class ResourceLim ...
7月28日 16:37 投稿
Javaにおける並行処理の実践:スレッド生成から高度な同期メカニズムまで
Javaにおける並列処理の基礎
現代のJavaアプリケーション開発において、マルチスレッド処理はシングルコアの限界を超え、マルチコアプロセッサの性能を最大限に活用するための重要な手法です。複数のタスクを並行して実行することで、アプリケーションのスループット向上と応答性の確保が可能になります。しかし、リソースを共有するスレッド間の競合や、データの整合性を ...
6月24日 21:19 投稿
线程池の奥深さ
はじめに
前回の記事「CPU温度を下げた経験談」で、バイクの投入管理アプリケーションを担当していることをお伝えしました。大量のトラフィックが新アプリケーションに切り替わった後も、投入処理の複雑さから不安を感じていました。特に、線程池を用いて非同期処理を行っている部分は、深く理解できておらず、しばらくの間、その仕組みを「咀嚼できない」と感じていまし ...
6月22日 22:32 投稿