paip.java  线程无限wait的解决

jprofl>threads>thread dump>

查看棉线程执行的code stack... 估计是.比如.BlockingQueue.wait

作者Attilax  艾龙,  EMAIL:1466519819@qq.com 
来源:attilax的专栏
地址:http://blog.csdn.net/attilax

解决:
1.使用poll,取代tack
 poll(time):取走BlockingQueue里排在首位的对象,若不能立即取出,则可以等time参数规定的时间,取不到时返回null
  
  
 2.take前判断哈BlockingQueue.size  ,n是使用孪这个.
  if (Sqlqueue.size() == 0) {
Thread.sleep(10);
continue;// cbb

}
str = Sqlqueue.take();
  
  
 3.主线程exit前join其他线程...
 
try {
tdcba.join();
} catch (InterruptedException e) {

e.printStackTrace();
}
System.out.println("---finish");
 
  参考:
  Java多线程(五)之BlockingQueue深入分析 - JAVA编程语言程序开发技术文章 - 红黑联盟.htm

paip.java 线程无限wait的解决相关推荐

  1. java线程安全问题原因及解决办法

    1.为什么会出现线程安全问题 计算机系统资源分配的单位为进程,同一个进程中允许多个线程并发执行,并且多个线程会共享进程范围内的资源:例如内存地址.当多个线程并发访问同一个内存地址并且内存地址保存的值是 ...

  2. java中线程死锁的解决方法_Java线程死锁实例及解决方法

    这篇文章主要介绍了Java线程死锁实例及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.死锁的定义 所谓死锁是指多个线程因竞争资源而造成 ...

  3. Java线程池的实际应用:一根木棍 随机分割三段 组成三角形的概率 多线程解决

    java线程池的介绍全网很多,大家可以查询得到,我就不多赘述了(讲的可能还不如那些资料好) 来看一个实际问题: 我们有一根长度为1的木棍,现在我们随机将它分割成三份,那么这三段木棍能组成一个三角形的概 ...

  4. 关于如何解决java线程安全问题?很重要? 快拿小本本记下来!

    关于如何解决java线程安全问题?很重要? 快拿小本本记下来! 线程安全问题 什么是线程安全问题? 线程同步 同步代码块 同步方法 lock显示锁 线程安全问题 什么是线程安全问题? 多个线程操作同一 ...

  5. 解决Java线程死锁问题及代码实例

    一.问题分析 1.什么是死锁? "死锁"是多线程中出现问题的一种情况,即:多个线程因竞争资源.进程推进顺序等原因而导致各进程同时被阻塞的情形,被阻塞的进程中一个或全部处于等待某个资 ...

  6. java解决线程死锁_为你解决Java线程死锁

    产生死锁的原因: 1. 系统资源不足.分配不当.系统中都会有一种不可剥夺的资源,若是这些资源不能够满足进程运行的需要,那么就只能进行资源争夺,从而陷入死锁. 注意:只有对不可剥夺资源的竞争才可能产生死 ...

  7. 四种Java线程池用法解析

    四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...

  8. Java线程池实现原理及其在美团业务中的实践

    来自:美团技术团队 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流.使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器.J.U.C提供的线程池ThreadPoolExecuto ...

  9. Java线程如何转储

    这篇文章的内容最初是由Tae Jin Gu在Cubrid博客上写的. 当Java程序运行存在障碍时,或者基于Java的Web应用程序运行速度比预期慢得多时,我们需要使用线程转储.如果您觉得线程转储非常 ...

  10. java 线程池原理分析

    一.为什么使用线程池 1.降低资源消耗,减少线程创建和销毁次数,每个工作线程可以重复利用,执行多个任务 2.可根据系统承受能力,调整工作线程的数目,防止消耗过多的内存 二.java 线程池使用 Exe ...

最新文章

  1. 来谈谈Servlet~~
  2. TVB家族剧巅峰之作,郑少秋最后的辉煌,风头却被罗嘉良抢了
  3. Cocos Creator中按钮组件数组的使用
  4. C++中的抽象类以及接口的区别联系
  5. jvm ide_通过微调JVM Garbage Collector减少Java IDE滞后
  6. MySQL--开发技巧(一)
  7. javascript中BOM介绍、屏幕尺寸、历史记录、URL解析、计算机信息获取、定时器、三大系列及兼容代码、封装动画函数、同步和异步
  8. MATLAB中常见的取整函数
  9. 阿里云服务使用docker安装mysql
  10. pytorch 训练过程acc_pytorch应用(四)训练过程可视化visdom
  11. 《Kafka权威指南》读书笔记1 初始Kafka
  12. 详解第一范式、第二范式、第三范式、BCNF范式
  13. react根据中文获取拼音_React — input标签输入中文的拼音时候会触发onChange事件解决...
  14. 样式和多级编号的关系
  15. MATLAB怎么求非线性度误差,用Matlab进行最小二乘法线性拟合(求传感器非线性误差、灵敏度)...
  16. 修改android屏幕分辨率
  17. C#读取Excel数据在CAD上展图
  18. 托业考试 与 托福考试
  19. 风哥MySQL数据库视频培训教程大合集(网盘下载.共10套)
  20. EfficientDet:可扩展的高效目标检测

热门文章

  1. static 变量 作用域 全局变量 局部变量 外部变量 常量 volatile变量
  2. 怎么找到安装在Linux系统中的Windows软件的文件
  3. Scrum立会报告+燃尽图(十月二十三日总第十四次)
  4. Powershell进阶学习(1) 浅谈Powershell学习方法
  5. spring boot 与配置
  6. hdu 5178 pairs (线性探查问题)
  7. knockout.js的学习笔记3
  8. 为什么我们做不到【领导篇】作者:金刚波
  9. 注册表应用100例—注册表使用全攻略之十一
  10. vs2017 出现“文件中的类都不能进行设计,因此未能为该文件显示设计器”问题处理...