有谁能知道winform窗口过一段时间后就假死的问题?

最近在开发一个winform的桌面,用于显示各种推送数据,后台有一个线程使用while(true)不停的更新界面的UI控件上的数据。我只有一个窗口主线程和一个更新数据的子线程,不存在死锁的问题。
但是问题在于刚开始好好的,数据不断的跳啊,更新啊,过了大概半小时整个窗口就卡死了,窗口关闭按钮都不能用。我用VS调试程序模式也会这样,但就是不报错,这是什么问题啊?
为了让子线程能访问到控件,窗口我设了CheckForIllegalCrossThreadCalls = false;会有关系吗?

4个回答

你可以创建一个线程去等newThread,然后执行继续的代码.
或者newThread结束后往主线程发送一个消息,主线程收到后继续执行代码.

代码贴一下,你这么说别人怎么看

任务管理器看下进程用户对象,到1w个用户对象就会卡死,之前遇到过一次

        Thread t = new Thread(o => Thread.Sleep(500));
        t.Start(this);
        while (t.IsAlive)
        {
            //防止UI假死
            Application.DoEvents();
        }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐