本文主要是介绍JAVA SE踩坑实践——多线程避免孤儿线程,幽灵线程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
项目中使用java socket编程和多线程技术,常常发现程序终止了,但是被连接对象依然被占用,进任务管理器发现java还在后台跑着。研究得知c++多线程编程中常遇到这样的问题,成为死亡进程或者幽灵进程。
解决方法:
1. 解决方法1 : 父线程调用子进程的 join() 方法,但是会造成父线程阻塞,本文中父程需要创建若干个子线程完成并发执行任务,一旦子线程阻塞其他线程,会严重降低性能。
2. 解决方法2: 参考下面的文章,完善那部分代码,避免子线程一直执行不会自动结束。
Java中的多线程你只要看这一篇就够了
多线程分离-详解
线程的分离、同步
java 多线程基础
这篇关于JAVA SE踩坑实践——多线程避免孤儿线程,幽灵线程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!