多线程遇到的问题:(2)子线程未运行完 主线程结束了
问题:
用@Test测试多线程接口时,启动服务抛出异常:
Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)
(当该工厂的单例被销毁时,不允许创建单例bean(不要在销毁方法实现中从BeanFactory请求bean !) )
原因:
主线程运行时,启动了线程池,线程池中的任务会加载bean,但因为异步原因,任务提交给线程池后,主线程结束了,开始销毁bean容器,而线程池任务有需要创建出bean,所以出现上述的异常情况。
解决方法:
判断线程池任务是否执行完成; 完成后 主线程再结束;
4 种判断线程池任务是否执行完的方法:
使用 isTerminated 方法判断。
使用 getCompletedTaskCount 方法判断。
使用 CountDownLatch 判断。
使用 CyclicBarrier 判断。
使用方式参考:
多线程遇到的问题:(2)子线程未运行完 主线程结束了相关推荐
- java 子线程退出_java – 在子线程完成执行之前主线程将退出吗?
我读了2篇文章 在上面的文章中,在"线程终止"段中,它在Red中声明"如果父线程终止,它的所有子线程也会终止". 在上面的文章中,该页面的最后一行指出" ...
- Unity C# 子线程Action发送到主线程执行
今天去面试..面试官竟然说子线程的Action不能发送到主线程执行... ...废话不说上干货 using System.Collections; using System.Collections.G ...
- Qt与OpenCV编程:在子线程打开摄像头用主线程显示
前言 1.在做图像处理开发中,比例做目标跟踪识别的时候,用OpenCV一直在处理摄像头传入的数据,有时候会出现界面卡死或者未响应的状态,这是因为事件循环一直等待处理函数的返回而导致阻塞事件循环,这样一 ...
- UnityThread子线程使用只能在主线程中调用的函数或Unity API
Unity的Socket网络编程中,为了防止程序卡死,一般使用多线程来监听端口,当收到来自客户端的消息时,需要显示在界面上.但是如果直接在子线程中操作Unity的界面或物体会报错.国外一个大神写了一个 ...
- android子线程没有运行完,android假如主线程依赖子线程A的执行结果,如何让A执行完成,之后主线程再往下执行呢?...
/* String ObjectResult="原先的结果"; //使用VOLLY框架(与问题无关) JsonObjectRequest jsonObjectRequest = n ...
- Android中Handler消息传递机制应用之子线程不允许操作主线程的组件
场景 进程 一个Android应用就是一个一个进程,每个应用在各自的进程中运行. 线程 比进程更小的独立运行的基本单位,一个进程可以包含多个线程. 要求 一个TextView和一个Button,点击B ...
- linux主线程结束 子线程还能运行么,linux主线程和子线程
"读了三遍,愣是没读懂楼主想说啥.######@java_zf 我现在在做的一个项目用到了多线程,我就在项目中子线程调用的一个函数中加了个sleep.你可以写个简单的代码试一下,应该比较简单 ...
- python 中主线程结束 子线程还在运行么_python 线程之一:线程的创建、启动及运行方式
threading:这个模块在较低级的模块 _thread 基础上建立较高级的线程接口 以后我们就用 threading 模块来管理线程就可以了. Tread 类:控制线程创建.启动及运行方式 一.线 ...
- python 中主线程结束 子线程还在运行么_「干货」python线程笔记
引言&动机 考虑一下这个场景,我们有10000条数据需要处理,处理每条数据需要花费1秒,但读取数据只需要0.1秒,每条数据互不干扰.该如何执行才能花费时间最短呢? 在多线程(MT)编程出现之前 ...
最新文章
- ASP.NET页面间传值方式--zt
- Android开发之activity跳转页面失败的问题
- mysql cluster 查看数据库表名称_MySQL Cluster如何创建磁盘表方法解读
- 常量缓存与integer比较_Integer缓存范围到底是多少?
- 技术文档(3)--查看和修改Linux服务器的时区和时间
- 《深入理解 Spring Cloud 与微服务构建》第七章 负载均衡 Ribbon
- 高德开放平台与360儿童手表达成合作,全球数据助力第三方企业
- php如何写代码禁用广告,不再显示广告案例(php操作cookie)
- Ajax-图书管理系统数据提交
- ntsd.exe 附使用教程
- 乐优、青橙商城相关技术总结
- Linux之VNC远程桌面安装和使用
- \u开头的字符串是什么意思?
- Sphinx使用方法
- 在一家地产公司搞销售
- 数学教程之14本用于早期数学学习的精美插图儿童读物
- Windows Server 2012 VDI 部署的前提条件
- android gif编辑,GIF编辑
- dtypes.py:526: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a
- jquery 立体走马灯_jquery实现页面百叶窗走马灯式翻滚显示效果的方法
热门文章
- (附源码)python+mysql+基于协同过滤算法的书籍推荐 毕业设计101555
- ubuntu vnc server
- [收藏]管理故事:蜜蜂与苍蝇的命运
- MySQL 的记录存储结构、存储引擎与 Buffer Pool
- 【Android】5.0录音权限处理时遇到的问题
- 交通银行全国大集中IBP(国际业务系统)项目
- Towards Perceptual Image Dehazing by Physics-Based Disentanglement and Adversarial Training(2019)
- vue写ajax访问springboot后台发送和接收数据
- c++大整数加法实现
- Linux网络编程基础<多进程并发服务器>