作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在考虑如何用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 利用率,因为您只需触发调用和注册回调,而不必尝试平衡“正确”数量的并发线程,而这些线程大多只是 hibernate 。
关于java - Java 中线程中的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7224670/
我是一名优秀的程序员,十分优秀!