线程池中的死锁情况
这次死锁发生在什么情况下呢?在最开始写线程池的时候,我设计了线程是可重用的,主要是通过Event信号实现,通过在每个线程核心工作代码执行完毕后会将自己归还到池中,然后等待Event信号。主线程会以循环超时阻塞的方式监视一个任务队列,当发现有任务时便会从线程池中取出一个线程,并设置它的任务和目标函数,然后去start或者resume,resume就是会设置Event信号让线程不再阻塞,这里,从池中取线程的方法_get和归还线程方法returnThread都已经加锁,_get和return...
分类:
编程语言 时间:
2014-07-23 17:15:01
阅读次数:
333
netstat -ano | findstr 31900注意最后是pid堆栈的作用: 线程死锁分析 辅助CPU过高分析 线程资源不足分析 性能瓶颈分析 关键线程异常退出Windows:在运行java的控制台上按ctrl+break组合键 _ usefull?wait() —— 会释放监视锁slee....
分类:
编程语言 时间:
2014-07-22 22:50:16
阅读次数:
250
Code review 是系统的检查程序源码,目的是在初始开发阶段找到和修正错误,提高软件质量和开发人员的技术水平。Java源码的Code review包括哪些那:1.编程规范2.面向对象设计检查3.性能检查4.资源管理:内存泄露5.线程安全:多线程,死锁6.处理流程:条件语句,循环结构7.异常处理...
分类:
其他好文 时间:
2014-06-26 12:34:24
阅读次数:
220
有多个线程执行的程序中,某个线程t1需要锁住两个对象obj1和obj2才能完成任务,而线程t2也需要锁住这两个对象,t1首先锁住obj1,t2首先锁住obj2,t1需要等待t2将obj2的锁放开,而t2也需要等待t1将obj1放开才能执行完,此时便进入了死锁状态。 死锁演示程序如下: 1 p...
分类:
编程语言 时间:
2014-06-21 07:00:54
阅读次数:
214