gpt4 book ai didi

c# - 为什么线程 IsAlive 即使在线程内执行最后一个命令后仍返回 false

转载 作者:太空宇宙 更新时间:2023-11-03 22:29:19 25 4
gpt4 key购买 nike

<分区>

我在标签点击事件中启动了一个线程。线程完成了它的工作。我什至在线程中得到了最后一个消息框。我想在完成线程后在标签单击事件中执行更多指令。所以我使用了 if 语句和线程的 IsAlive 属性。线程的 IsAlive 属性值似乎始终为 true。如何?如何确保所有线程在我关闭应用程序时结束,还是在我关闭应用程序时自然结束?

private void lbl_Calc_Click(object sender, EventArgs e)
{
Label label = (Label)sender;
//new thread to do the calc
Thread t = new Thread(() => ThreadedMethodForCalc(label));
t.Start();

//checking the IsAlive property
//but doesn't work

if (t.IsAlive==false)
{
MessageBox.Show("please enter the data");
//more instruction here
}
}

private void ThreadedMethodForCalc(Label label)
{
//calculation. not shown
MessageBox.Show("end of thread"); //executed
return;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com