美文网首页
C# 创建新线程处理事情,防止画面卡顿

C# 创建新线程处理事情,防止画面卡顿

作者: 三娃头很铁 | 来源:发表于2018-05-11 15:55 被阅读0次

1.解决画面卡顿问题
2.解决“从不是创建控件的线程访问它“问题

private void btnLoad_Click(object sender, EventArgs e) {
    Thread thConnect = new Thread(new ThreadStart(BackgroundLoad));
    thConnect.IsBackground = true;
    thConnect.Start();
}

private void BackgroundLoad() {
    //访问服务器API获得返回数据
    //处理返回数据
    string dataFromServer = "aabbccdd";
    //呈现数据
    
    ❌lblData.Text = dataFromServer; 
    // 直接修改会报错:从不是创建控件的线程访问它

    // 解决方法一:如果同一时间只有一个线程操作一个控件,可以在窗体构造函数中加入下句,就可以
    // Control.CheckForIllegalCrossThreadCalls = false;

    // 解决方法二:不直接修改,而用更安全的 委托 + invoke
    // updateData(dataFromServer);
}

// 创建更新数据委托
delegate void updateDataDelegate();

// 更新数据
void updateData(string dataFromServer) {
    if (this.InvokeRequired)
        Invoke(new updateDataDelegate(updateData), new object[] { dataFromServer});
    else {
        lblData.Text = dataFromServer;
    }
}

相关文章

  • C# 创建新线程处理事情,防止画面卡顿

    1.解决画面卡顿问题2.解决“从不是创建控件的线程访问它“问题

  • GCD 并行队列使用

    通常情况下,我们在处理网络请求和处理大数据时,会使用多线程技术,在新线程中进行操作,防止主线程卡顿,降低用户体验....

  • WPF中UI线程频繁操作造成卡顿的处理(一)

    转载请注明原作者 目录 WPF中UI线程频繁操作造成卡顿的处理(一)WPF中UI线程频繁操作造成卡顿的处理(二) ...

  • WPF中UI线程频繁操作造成卡顿的处理(二)

    转载请注明原作者 目录 WPF中UI线程频繁操作造成卡顿的处理(一)WPF中UI线程频繁操作造成卡顿的处理(二) ...

  • 从零开始开发python和qt项目(三)

    接下来处理qt界面的逻辑 qt控制爬虫逻辑 爬虫会下载图片,造成gui画面卡顿,所以我放在线程中进行,线程里就直接...

  • tomcat 请求分析 总结

    创建线程并处理新连接 EndPoint创建Acceptor线程循环监听新的连接(socket)。 监听到的新连接(...

  • IO 多路复用

    IO 多路复用 如何提升并发能力? 多线程模型,创建新的线程处理请求 多进程模型,创建新的进程处理请求 IO 多路...

  • iOS笔记-runloop

    runloop可以做什么? 处理crash 保持线程存活(线程保活) 监测、优化卡顿 线程和runloop有什么关...

  • 面试知识点 总结

    1,runtime 2,runloop 3,优化卡顿问题(数据处理的异步线程)。 4,多线程 5,核心动画

  • iOS多线程方案

    在iOS开发中需要将一些耗时操作放到子线程中去执行, 防止阻塞主线程造成卡顿现象, 这时就用到了多线程.本篇文章主...

网友评论

      本文标题:C# 创建新线程处理事情,防止画面卡顿

      本文链接:https://www.haomeiwen.com/subject/toaskftx.html