java里,线程会不会死掉
while(true)单纯这样写,不是线程,是死循环。所以肯定会造成内存耗尽,然后挂掉。
关于线程怎么循环或定时执行,如果需要,可以留email,我发给你。
java项目中线程死掉问题
是否有报错,是否有死锁?分析原因需要源代码,运行环境,运行状况,日志信息等等。
自己写程序监测吧,常规工具只能监测到程序,监测不到程序里的线程的
java中线程是何时死亡的:假如在A线程中启动B线程,那么是不是要等B线程死亡了A线程才会死亡呢?
线程的死亡有点小复杂,但也不复杂。
线程A在激活线程B之后,就会多了一个线程。但是两个线程之间的死亡基本上是没有关系的。并不是说必须在B线程死亡之后A线程才会死亡。
造成你有这样的错误认识,可能是两点原因:1.误以为线程A激活线程B的过程和方法A调用方法B的过程差不多;2.A线程在任务完成后并没有立刻死亡;
首先是第一点,线程之间是激活的关系,而不是调用的关系。举个例子来说,一家公司有一个销售部,但是只有一个销售部的话,销售业绩不好。为了更好的出业绩,销售部向公司老总申请成立一个市场部,以便提升业绩。然后老总同意了。但是销售部和市场部属于同级单位而不是上下级单位。不存在谁高谁低。这就是激活,而并非调用;其二,A线程在任务完成后并没有立刻死亡的原因是因为垃圾回收机制。回收器并没有在A线程任务完成后立即将其回收,而是不定时地进行回收,所以就导致了A线程不会在任务完成后立即死亡。(当然也有解决的办法,就是手动调用垃圾回收器,对垃圾线程进行回收。System.gc();)