【发布时间】:2015-10-23 08:02:22
【问题描述】:
我正在实现一个随机森林算法。每棵树都以递归方式进行训练(随着树的深入而增加调用堆栈的大小),我可以毫无问题地训练一棵树(或顺序循环中的几棵树)。
但是,在 Parallel.For 循环中训练所有树会导致堆栈溢出。我知道在使用 new Thread() 时可以配置堆栈大小,如:How to change stack size for a .NET program?
但是,是否可以使用 Parallel.For 来做到这一点?还是我必须编写所有线程,指定它们的堆栈大小?
【问题讨论】:
-
考虑使用
Stack<T>并将方法重写为迭代。 -
@Bas,你能说得具体一点(或发个链接)吗?
标签: c# parallel-processing stack-overflow