Java 的一条任务线程没有一点征兆的的就没有了,大家有没有遇到过?

2019-02-17 16:09:55 +08:00
 Acmen

该线程前半段很正常,日志也很正常,看了出现这个问题的时间段也是服务器比较空闲的时间。 线程内部有进行异常捕捉,执行线程的 execute 也有进行异常捕捉

1853 次点击
所在节点    问与答
8 条回复
sun1991
2019-02-17 16:17:49 +08:00
难道是被别的线程 kill 掉了?
mmdsun
2019-02-17 16:21:28 +08:00
是不是 callable 的线程?那么异常只能.get 的时候才能显现出来。
Acmen
2019-02-17 16:29:45 +08:00
@mmdsun 这个线程是 runnable,他的父线程是 callable,一个 callable 会有一百个 runnable 子线程
Acmen
2019-02-17 16:32:15 +08:00
@sun1991 Java 线程在还没有执行完毕的时候 还可以被同一个线程池中其他的线程挤掉吗?
blindpirate
2019-02-17 16:57:18 +08:00
专业一点好不好,什么叫 callable 的线程?什么叫 runnable 的线程?

Java 中只有 Thread 代表线程!!!
Java 中只有 Thread 代表线程!!!
Java 中只有 Thread 代表线程!!!

Callable 和 Runnable 都只是一个抽象的任务,不代表任何线程实体。

题目本身问的就很模糊,什么叫线程没有了?是发现原先 jstack 列出的一个名为`Thread [pool-thread-1]`的线程实体,后来消失了?还是你在线程池中运行的任务没有返回预期的结果?
Acmen
2019-02-17 17:02:39 +08:00
@blindpirate 出现了 Thread [pool-14-thread-1]线程实体,运行了一部分代码就消失了
gabon
2019-02-17 18:24:52 +08:00
没有什么是断点解决不了的,如果有就多几个断点
sun1991
2019-02-17 20:56:54 +08:00
@Acmen 我是说, 显示地被其他进程杀掉了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/535851

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX