pyqt中主线程为ui,子线程为2个耗时的逻辑线程,界面卡顿如何处理 5
我用pyqt制作了一个自动化测试的工具,串口收发的,但是界面会卡顿,只有子线程执行完之后才会在主界面更新数据,这个如何处理?我的子线程中也有两个并行执行的线程...
我用pyqt制作了一个自动化测试的工具,串口收发的,但是界面会卡顿,只有子线程执行完之后才会在主界面更新数据,这个如何处理?我的子线程中也有两个并行执行的线程
展开
1个回答
展开全部
使用线程同步类 http://www.cnblogs.com/charley_yang/archive/2010/11/13/1876626.html
自己的逻辑如下
using (var countdown = new MutipleThreadResetEvent(iNum))
{
for (int j = i; j < i + iNum && j < dt.Rows.Count; j++)
{
ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback((object s) =>
{
//登陆操作
GetLoginAndHTMLMethod();
}), null);
}
//等待所有线程执行完毕 ,由于这里执行线程同步,导致主界面卡顿,求解
countdown.WaitAll();
}
//拨号操作
strIP = CheckToChangeIP(i);
自己的逻辑如下
using (var countdown = new MutipleThreadResetEvent(iNum))
{
for (int j = i; j < i + iNum && j < dt.Rows.Count; j++)
{
ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback((object s) =>
{
//登陆操作
GetLoginAndHTMLMethod();
}), null);
}
//等待所有线程执行完毕 ,由于这里执行线程同步,导致主界面卡顿,求解
countdown.WaitAll();
}
//拨号操作
strIP = CheckToChangeIP(i);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询