任务树过多导致StackOverflowError,如何解决?
我正在写一个服务,里面有很多任务,每个任务有多个子任务。
派生树是:
--Thread
--MessageObject 消息对象,可接收和处理消息
--AbstractTask 抽象任务-提供基本任务管理功能
--OperableTask 可操作任务-提供任务的操作能力,如通过管理线程来操作
--TaskNode 任务节点-生成树形结构
其中从TaskNode派生的类,在实例化时,会自动与系统中已存在的任务形成一颗树。每个任务都是一个线程,但实例(new)化时,不运行。
今天运行时,抛出了StackOverflowError错误,是栈溢出。调试了一下,发现把任务减少到15个时,没有问题,再new出一个任务后就会抛出错误。
有没有什么解决的办法?比较急!