![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
AD |
![]()
Сообщение
#1
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Не понимаю, почему нет паузы в выполнении. Делаю так:
В чем недочеты? Почему не удается приостановить выполнение функции run()? |
|
|
![]() |
igor_bogomolov |
![]()
Сообщение
#2
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
AD, мне всегда нравились твои краткие примеры
![]() То что ты cделал противоречит тобою же поставленной задачей. Цитата(AD) приостанавливать выполнение run(), а потом запускать run() с места остановки? То, что ты делаешь, это называется завершение потока Цитата if(terminated) return; А в дальнейшем, ты создаешь его заново Цитата vertical -> start(); т.е выполнение начнется с первой строки метода run.В строке quit убери, он тут ни к чему. Поток и так завершится. Если ты реально хочешь приостановиь поток, а потом продолжить с места остановки, используй QMutex совместно с QWaitCondition. Да и в принципе мьютексами пользоваться не стесняйся ![]() |
|
|
AD |
![]()
Сообщение
#3
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Если ты реально хочешь приостановиь поток, а потом продолжить с места остановки, используй QMutex совместно с QWaitCondition. Да и в принципе мьютексами пользоваться не стесняйся ![]() Если бы знал, как корректно ими воспользоваться - обязательно бы это сделал! ![]() ![]() ![]() А вообще, да, я запускаю run с первой строчки, но: 1) у меня цикл начинается с места остановки; 2) условие, которое проверяется перед циклом, не выполняется, потому что прожектор и так, в крайнем верхнем положении! P.S. Подкорректировал код:
Сообщение отредактировал AD - 5.6.2009, 10:03 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 15.7.2025, 1:56 |