在托管环境中使用非托管线程的缺点是什么?

时间:2010-08-09 15:32:22

标签: multithreading weblogic threadpool appserver

在weblogic应用服务器等托管环境中创建自己的线程有什么缺点? 每当我在应用程序服务器内工作时,我总是使用托管线程(使用WorkManager api) 但是,我不清楚在应用服务器中使用非托管线程可能导致的缺点或问题。

2 个答案:

答案 0 :(得分:1)

您只是失去了托管线程的好处。 托管线程使您能够从“池”分配具有最大和最小大小的线程,增量率,以及在每个池处于高负载时为每个池排队请求的能力。您还可以监视这些线程并在运行时控制它们的行为(例如,从Weblogic控制台)。

答案 1 :(得分:0)

当你在thraed中运行少量代码,并且它不等待其他线程(在锁等中没有大量使用)时,使用线程池没有问题。

但是当你的线程需要长时间运行大量代码(例如,等待锁,等待特定资源)时,使用线程池等不是一个好习惯。

另一个问题是,当您将池用于运行程序主逻辑的线程时,您可能会卡住,等待其他线程完成。这是另一种你应该管理你自己的线程的做法。