多线程同步主界面的时候很卡,解决思路

有时候我们使用单线程的界面程序,主线程既要负责响应用户,又要负责处理其他任务,导致界面很卡,用户体验极差!

有时候我们使用多线程来处理这个问题的时候,也会很卡,为什么呢?因为,当有多个线程同时同步主线程的时候,举个例子:

比如多个线程同时同步多个信息到主线程,让界面显示出来。这时候主线程忙于应付其他线程,而无法响应用户,这又与单线程何异呢?

这里提供了一些处理的思路。

实际情况下,一般主线程处理多线程还是比较快的,耗时的场景主要是绘制。我们可以这样做,将数据全部同步到一个全局变量中(此时主线程可能正在显示一个加载条或者其他等待界面),再在所有线程的结束之后,再由主线程将保存了的数据一起读取绘制出来!这样做效果是非常好的。

你可能感兴趣的:(c++,多线程)