求助:MacX86使用qprocess时严重卡顿
Unsolved
Chinese
-
MacX86使用qt5.15.8版本,执行以下demo时主进程卡顿严重,使用instruments发现每次process-start()都会造成severe hang,且cpu占用极高,为什么?
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
timer = new QTimer();
connect(timer, &QTimer::timeout, this, &MainWindow::Read);
QPushButton *button = new QPushButton("按钮", this);
connect(button, &QPushButton::clicked, this, &MainWindow::OnBtnClicked);
}void MainWindow::Read()
{
QThread *th = QThread::create([=] {
QSharedPointer<QProcess> process(new QProcess);
QStringList arg;
arg << "ls"<< "-l";
process->start("bin/zsh", arg);
qDebug()<<arg;
});
connect(th, &QThread::finished, th, &QThread::deleteLater);
th->start();
}
void MainWindow::OnBtnClicked()
{
Read();
timer->start(8000);
}