Spring Bootの@Scheduledと分散環境における注意点
基本的な実装と課題
Spring Bootの@Scheduledアノテーションを使用する場合、デフォルトではシングルスレッドで処理が実行されます。この仕様により、処理時間が長いタスクが存在する場合、以下の2つの問題が発生します:
タスクの実行遅延
スレッドの競合による処理停止
@Component
@EnableScheduling
public class ScheduledTask {
@Scheduled(cron = "0/5 * * * * ...
5月28日 15:52 投稿
カスタムスレッドプールによる非同期タスクマネージャーの実装
バックエンドで時間のかかる処理を行う際、スレッドが長時間ブロックされることがよくあります。このような場合、非同期スレッドを使用してタスクを処理することが一般的です。毎回新しいスレッドを作成する方法はコードの重複を招き、スレッド管理が煩雑になり、システムパフォーマンスに悪影響を与える可能性があります。Springフレームワークでは@Asyncアノテーションを ...
5月23日 19:56 投稿
Javaスレッドプール:主要クラス・インターフェースと実行フローの詳細
スレッドプールの基本概念
スレッドプールとは、スレッドの作成・破棄のオーバーヘッドを削減し、リソースを効率的に管理するための仕組みです。事前に一定数のスレッドを生成し、タスク到着時に再利用することで、システムのパフォーマンス向上を図ります。
主要なクラスとインターフェース
ExecutorServiceインターフェース: スレッドプール操作の基本機能を定義
Execu ...
5月19日 04:18 投稿