Java线程中的线程?

用户253530:

我目前正在考虑如何用Java设计一个多线程系统,该系统需要进行大量的网络处理和数据库存储。该程序将首先启动三个基本线程。沿着这些基本线程,我不想从主程序而是从其中两个线程启动其他线程。一个线程是否有可能启动另一个导致某种层次结构的线程,例如:

> Parent ->t0 thread1 -> t1 tread1.1  
>        ->t0 thread2
>        ->t0 thread3 -> t2 thread3.1

t0= inital time
t1,t2 = time at a point in the running thread
t1 != t2 

如果不能,有人可以提供具有参考意义的理论解决方案吗?

约翰·史密斯 :

是的,您可以根据需要启动任意数量的线程,但这可能不是最好的方法。最好使用非阻塞API,以便您可以开始执行一些外部调用,并且调用线程可以立即开始执行其他操作,而无需等待套接字/数据库调用返回。然后,当套接字/数据库调用返回时,将触发回调以完成该处理。

非阻塞I / O可以提供更高的CPU利用率,因为您只需要触发调用和注册回调,而不必试图平衡“合适的”并发线程数,这些线程无论如何基本上都处于睡眠状态。

http://www.owlmountain.com/tutorials/NonBlockingIo.htm

http://www.tensegrity.hellblazer.com/2008/03/non-blocking-jdbc-non-blocking-servlet-apis-and-other-high-mysteries.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章