最近在研究下位机采集数据再由上位机发送至云端的设计,目前下位机不断采集数据上传至上位机这一块已经完成,但是当上位机不停将处理后的数据发送至云端时,程序出现假死,关于上位机的发送部分我运用的是
private void button13_Click_1(object sender, EventArgs e)
{
while(1)
{
................;
}
}
这种无限死循环,我觉得程序应该是卡在这一个循环中出不来了,导致没办法进行其他工作,请问各位大神应该如何解决这个问题啊TAT
首先,你这个while(1)就令人迷惑,为什么要写个死循环在按钮里面?
如果你的程序需要定时执行某些方法,可以使用timer,或者另开线程循环
也可以结合一下,在timer里开task执行临时操作
你标题里都写了多线程,可是你代码里根本没用多线程
你这是明知道问题出在哪还不改,还问
点击事件 启动线程,
private void button13_Click_1(object sender, EventArgs e)
{
ThreadPool.QueueUserWorkItem((t) => Do_While("12312"));
}
private void Do_While(string param)
{
while (true)
{
//逻辑
Thread.Sleep(10)
}
}