首頁 > Java > java教程 > 為什麼要避免在 Java EE 容器中產生執行緒?

為什麼要避免在 Java EE 容器中產生執行緒?

Susan Sarandon
發布: 2024-12-10 02:54:08
原創
461 人瀏覽過

Why Avoid Thread Spawning in Java EE Containers?

Java EE 容器中的執行緒:為什麼要避免執行緒產生?

在 Java EE 開發中,在容器內產生新執行緒通常是皺起眉頭。這是因為:

  • 資源管理問題:容器環境中的所有資源都應該由伺服器管理,用於監控和協調目的。當執行緒生成時,它們可能無權存取這些資源。
  • 上下文限制: Java EE 環境中執行緒的執行上下文通常附加到執行緒本身。在容器外部建立的自訂執行緒可能無法存取此上下文,包括 JNDI 查找功能。

替代方法:

對於非同步操作,建議幾種方法存在方法:

  • 工作管理員: Java EE 規格提供了javax.enterprise.concurrent.WorkManager接口,該接口允許開發人員創建由容器監視和管理的託管線程。
  • 託管類別(EJB、CDI):託管類別(例如 EJB 和 CDI bean)可用於非同步操作。它們提供託管線程池,並且可以注入容器內可用的資源和服務。
  • 排程器 (JSR-349): Java EE Scheduler 規格定義了用於排程任務的標準化 API Java EE 環境。它允許以指定的時間間隔或基於觸發器執行任務。

注意:本文提供的資訊是基於 2009 年 Java EE 的狀態。然後,Java EE 中的執行緒管理得到了改進。請查閱您所使用的特定平台和版本的最新文檔,以獲取最新的最佳實踐。

以上是為什麼要避免在 Java EE 容器中產生執行緒?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板