![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
AD |
![]()
Сообщение
#1
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Не понимаю, почему нет паузы в выполнении. Делаю так:
В чем недочеты? Почему не удается приостановить выполнение функции run()? |
|
|
![]() |
igor_bogomolov |
![]()
Сообщение
#2
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
2) условие, которое проверяется перед циклом, не выполняется, потому что прожектор и так, в крайнем верхнем положении! Ну тогда убери строку раз она не нужна. А то этот quit в конце потока, как то глаз немного режет. Не нужет он там. Да и вообще, использование quit внутри run, выглядит как то странно. 1) у меня цикл начинается с места остановки; Это другой вопрос. Что у тебя там происходит реально, разобраться даже и не пытался. Если все переменные сохраняются, и при новом запуске потока, все выглядит так, как будто ты продолжил с точки остонава, то можешь оставить и так. Это тоже вариант. Но только это не универсальное решение. Будешь решать другую задачу, опять сталкнешся с трудностями. Так что с мьютексами все равно надо разбираться. Тем более, что поток у тебя не безопасный. ИМХО.Если бы знал, как корректно ими воспользоваться - обязательно бы это сделал! Попробую небольшой тестовый пример накатать. ![]() |
|
|
AD |
![]()
Сообщение
#3
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Ну тогда убери строку раз она не нужна. А то этот quit в конце потока, как то глаз немного режет. Не нужет он там. Да и вообще, использование quit внутри run, выглядит как то странно. Вот то что не пытался разобраться - это плохо! Я даже прокомментировал все действия. что выполняются в этих функциях! А убрать - не уберу, потому что это условие не выполняется, когда туда заходим после паузы, а при первом заходе, как правило, оно срабатывает. Так и должно быть! А вообще был очень удивлен, что я впринципе могу работать с одной структурой в двух разных потоках. Убедился, что это так - единственное, разные поля этой структуры обрабатываются разными потоками! |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 23.7.2025, 0:45 |