2010-08-09 58 views
0

在像weblogic應用程序服務器這樣的託管環境中創建自己的線程有什麼缺點?
當我在應用程序服務器中工作時,我總是使用託管線程(使用WorkManager API)。
但是我不清楚在應用程序服務器中使用非託管線程可能導致的缺點或問題。在託管環境中使用非託管線程有什麼缺點?

回答

1

你只是失去了管理線程的好處。 受管理的線程可讓您從「池」中分配線程,具有最大和最小大小,增加率以及在每個池處於重負載時爲每個池排隊請求的能力。您還可以監控這些線程並在運行時控制它們的行爲(例如從Weblogic控制檯)。

0

當你在thraed中運行少量的代碼,並且它不在等待其他線程(不是在鎖等中使用很多)時,使用線程池沒有問題。

但是當你的線程需要運行大量的代碼,爲長週期(例如,等待鎖,等待特定的資源),它不是使用線程池一個很好的做法等

另一個問題是,當你使用運行程序主邏輯的線程池時,你可能會卡住,等待其他線程完成。這是你應該管理你自己的線程的另一種做法。