Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: Zusykss от Июнь 19, 2017, 09:13



Название: QtConccurent::run & QFuture, как приостанавливать?
Отправлено: Zusykss от Июнь 19, 2017, 09:13
Подскажите возможно делать паузы QtConcurrent::run
Я делаю так.
В доке пишут, что остановить нельзя.

Подскажите как организовать остановку.
Код:
void Presenter::Start()
{
    QObject::connect(m_windoww, &WindowParser::Stop, this, &Presenter::StopThread);
    QObject::connect(m_windoww, &WindowParser::Prodolgit, this, &Presenter::StopThread);
    threadFunc = QtConcurrent::run(this, &Presenter::StartParsing);
    watcher.setFuture(threadFunc);
}


void Presenter::StopThread()
{
    if(threadFunc.isRunning())
        watcher.pause();
    else if(threadFunc.isPaused())
        watcher.setPaused(false);
}


Название: Re: QtConccurent::run & QFuture, как приостанавливать?
Отправлено: Авварон от Июнь 19, 2017, 12:59
Кажеца, тут (http://www.prog.org.ru/topic_23042_0.html) было.


Название: Re: QtConccurent::run & QFuture, как приостанавливать?
Отправлено: Zusykss от Июнь 19, 2017, 13:15
Кажеца, тут (http://www.prog.org.ru/topic_23042_0.html) было.

Благодраю за ответ , почитаю)

Написал свой велосипед, с 2-мя флагами. Связал сигналами и слотами, и все ок)


Название: Re: QtConccurent::run & QFuture, как приостанавливать?
Отправлено: Igors от Июнь 20, 2017, 10:21
..., и все ок)
(пока)


Название: Re: QtConccurent::run & QFuture, как приостанавливать?
Отправлено: Zusykss от Июнь 30, 2017, 09:15


а чего пока?))