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 投稿