问题:

用@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)子线程未运行完 主线程结束了相关推荐

  1. java 子线程退出_java – 在子线程完成执行之前主线程将退出吗?

    我读了2篇文章 在上面的文章中,在"线程终止"段中,它在Red中声明"如果父线程终止,它的所有子线程也会终止". 在上面的文章中,该页面的最后一行指出" ...

  2. Unity C# 子线程Action发送到主线程执行

    今天去面试..面试官竟然说子线程的Action不能发送到主线程执行... ...废话不说上干货 using System.Collections; using System.Collections.G ...

  3. Qt与OpenCV编程:在子线程打开摄像头用主线程显示

    前言 1.在做图像处理开发中,比例做目标跟踪识别的时候,用OpenCV一直在处理摄像头传入的数据,有时候会出现界面卡死或者未响应的状态,这是因为事件循环一直等待处理函数的返回而导致阻塞事件循环,这样一 ...

  4. UnityThread子线程使用只能在主线程中调用的函数或Unity API

    Unity的Socket网络编程中,为了防止程序卡死,一般使用多线程来监听端口,当收到来自客户端的消息时,需要显示在界面上.但是如果直接在子线程中操作Unity的界面或物体会报错.国外一个大神写了一个 ...

  5. android子线程没有运行完,android假如主线程依赖子线程A的执行结果,如何让A执行完成,之后主线程再往下执行呢?...

    /* String ObjectResult="原先的结果"; //使用VOLLY框架(与问题无关) JsonObjectRequest jsonObjectRequest = n ...

  6. Android中Handler消息传递机制应用之子线程不允许操作主线程的组件

    场景 进程 一个Android应用就是一个一个进程,每个应用在各自的进程中运行. 线程 比进程更小的独立运行的基本单位,一个进程可以包含多个线程. 要求 一个TextView和一个Button,点击B ...

  7. linux主线程结束 子线程还能运行么,linux主线程和子线程

    "读了三遍,愣是没读懂楼主想说啥.######@java_zf 我现在在做的一个项目用到了多线程,我就在项目中子线程调用的一个函数中加了个sleep.你可以写个简单的代码试一下,应该比较简单 ...

  8. python 中主线程结束 子线程还在运行么_python 线程之一:线程的创建、启动及运行方式

    threading:这个模块在较低级的模块 _thread 基础上建立较高级的线程接口 以后我们就用 threading 模块来管理线程就可以了. Tread 类:控制线程创建.启动及运行方式 一.线 ...

  9. python 中主线程结束 子线程还在运行么_「干货」python线程笔记

    引言&动机 考虑一下这个场景,我们有10000条数据需要处理,处理每条数据需要花费1秒,但读取数据只需要0.1秒,每条数据互不干扰.该如何执行才能花费时间最短呢? 在多线程(MT)编程出现之前 ...

最新文章

  1. ASP.NET页面间传值方式--zt
  2. Android开发之activity跳转页面失败的问题
  3. mysql cluster 查看数据库表名称_MySQL Cluster如何创建磁盘表方法解读
  4. 常量缓存与integer比较_Integer缓存范围到底是多少?
  5. 技术文档(3)--查看和修改Linux服务器的时区和时间
  6. 《深入理解 Spring Cloud 与微服务构建》第七章 负载均衡 Ribbon
  7. 高德开放平台与360儿童手表达成合作,全球数据助力第三方企业
  8. php如何写代码禁用广告,不再显示广告案例(php操作cookie)
  9. Ajax-图书管理系统数据提交
  10. ntsd.exe 附使用教程
  11. 乐优、青橙商城相关技术总结
  12. Linux之VNC远程桌面安装和使用
  13. \u开头的字符串是什么意思?
  14. Sphinx使用方法
  15. 在一家地产公司搞销售
  16. 数学教程之14本用于早期数学学习的精美插图儿童读物
  17. Windows Server 2012 VDI 部署的前提条件
  18. android gif编辑,GIF编辑
  19. dtypes.py:526: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a
  20. jquery 立体走马灯_jquery实现页面百叶窗走马灯式翻滚显示效果的方法

热门文章

  1. (附源码)python+mysql+基于协同过滤算法的书籍推荐 毕业设计101555
  2. ubuntu vnc server
  3. [收藏]管理故事:蜜蜂与苍蝇的命运
  4. MySQL 的记录存储结构、存储引擎与 Buffer Pool
  5. 【Android】5.0录音权限处理时遇到的问题
  6. 交通银行全国大集中IBP(国际业务系统)项目
  7. Towards Perceptual Image Dehazing by Physics-Based Disentanglement and Adversarial Training(2019)
  8. vue写ajax访问springboot后台发送和接收数据
  9. c++大整数加法实现
  10. Linux网络编程基础<多进程并发服务器>