はじめに サーバサイドエンジニアの酒井です. 普段はマイクロアドが提供する広告配信プラットフォーム UNIVERSE Ads の DSP 部分の開発をしています. 今回は JVM 言語におけるマルチスレッドプログラミングに関するいくつかの用語の理解と整理を兼ねて記事にします. 背景 まず Real-Time-Bidding (RTB) についてですが, RTB では大量のリクエストが送られてくる中でレスポンスタイムの制約が 100 ms 以内と非常に制約が厳しいです. そのような環境の中マイクロアドの DSP 開発では, レスポンスタイムとスループットの二つのパフォーマンス指標の制約を常に満たすことが非常に重要になっています. この制約を満たせるようアプリケーションのパフォーマンスを上げるため, マルチスレッドプログラミングが用いられることはよくあります. また, マイクロアドの DSP
![Atomic, volatile, synchronized について - MicroAd Developers Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/8ceb86052eb0df1d560be7b30d34bc2213b39608/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fs%2Fsakai_maaki%2F20220630%2F20220630165507.png)