17 ポイント 投稿者 xguru 2025-02-15 | 2件のコメント | WhatsAppで共有
  • Virtual Threads の概要
    • Virtual Threads(Loom project)とは
    • Platform Threads vs Virtual Threads - ブロッキング?
    • Platform Threads の動作方式
    • Virtual Threads の動作方式
  • ルールとベストプラクティス
    • Rule 1 - Threads を作成する
    • Rule 2 - CompletableFuture を使わない
    • Rule 2 - Virtual Threads を使う
    • Rule 3 - Thread Pool を使わない
    • Rule 3 - newThreadPerTaskExecutor を使う
    • Rule 4 - 並行性のために FixedThreadPool を使わない
    • Rule 4 - 並行性には Semaphore を使う
    • Rule 5 - ScopedValue を使う
    • Rule 6 - synchronized の代わりに ReentranceLock を使う
    • Rule 7 - Structured Concurrency を行う
    • Rule 8 - Virtual Threads をテストする
  • Virtual Threads と Spring Boot
    • Virtual Threads を使った Spring Boot MVC
    • Spring Boot MVC の非同期タスク
    • RestController で Virtual Threads を使う
  • レガシーコードの変更
    • 既存システムに Virtual Threads を適用する

2件のコメント

 
click 2025-02-15

Jdk24では synchronized がもはやpinningを発生させないように修正されたので、rule 6も次のLTSあたりには不要になるでしょう。

 
carnoxen 2025-02-15

Scoped ValueStructured Concurrency はまだ「プレビュー」段階なので、Virtual Thread が本格的に実用化されるまでには、もう少し時間がかかりそうです。