我想在其堆栈大小增加到10.000.000的另一个线程中运行递归函数“hueckel_operator()”。 首先,当我点击检测边缘按钮时调用hueckel_operator。所以我一直在detect_edges_click()函数创建新的线程为当尝试启动一个进程时发生ThreadStateException
private void detect_edges_Click(object sender, EventArgs e)
{
var stackSize = 20000000;
Thread workerThread = new Thread(new ThreadStart(hueckel_operator), stackSize);
workerThread.Start();
}
public void hueckel_operator(int counter4, int counter5)
{
}
,但我得到一个错误“错误22没有重载‘hueckel_operator’匹配委托‘System.Threading.ThreadStart’”
在哪我可以创建一个新的线程来执行我的递归函数吗?
而不是创建一个新的线程,我应该更好地增加我的主线程的堆栈大小?
还是我说的完全是废话,我应该继续阅读更多关于线程?
在此先感谢
我已经做了所有的事情,如你所说,没有错误,但hueckel_operator()在每次counter4和counter5增加5在这种情况下,我应该以某种方式将counter4和counter5分配给param。但我不知道该怎么做 – mctuna 2012-07-09 16:46:11
@mrtcn:我建议你用两个int成员定义一个自定义类型,并用它来传递参数。我用一个例子编辑了我的答案。 – Tudor 2012-07-09 16:48:55