2010-08-09 42 views
0

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

回答

1

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

0

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

但是当你的线程需要运行大量的代码,为长周期(例如,等待锁,等待特定的资源),它不是使用线程池一个很好的做法等

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