在Form1_Load中创建并启动的C#线程实际上并未启动

时间:2014-08-11 06:19:13

标签: c# multithreading

如果我开始这样的话题

addingResults = new Thread(threadAddingResults);
addingResults.Start();

在Form1_Load函数中,线程没有启动但如果我在let say按钮上使用相同的代码启动它,则单击它可以正常工作。这是怎么回事?这是预期的行为吗?

1 个答案:

答案 0 :(得分:0)

发现错误,我将线程声明为外部的变量,在我未初始化之前我调用 addingResults.IsBackground 由于某种原因在调试模式下没有返回异常,但是在Form1_Load之后的代码不是被执行。

所以我刚刚做了这个

addingResults = new Thread(threadAddingResults);
addingResults.IsBackground = true;
addingResults.Start();

它有效