Информация об изменениях

Сообщение Re[2]: Как правильно приостановить поток? от 30.01.2017 11:07

Изменено 30.01.2017 12:27 Kernan

Re[2]: Как правильно приостановить поток?
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, RussianFellow, Вы писали:


RF>>Вопрос состоит в следующем--правильно ли я делаю, что организовал цикл while ((*threadflag!=0)&&(*threadflag!=1)) и в нём вызываю команду Sleep(1000); для ожидания команды завершить или возобновить поток? Или же можно как-то по-другому это сделать?


К>1. Делать принудительную самоостановку — Sleep(t) — плохая практика, ибо это приводит к тормозам в другом потоке, который захочет повзаимодействовать с твоим (например, на предмет завершения программы).

Некоторые так баги фиксят... У нас на проекте вскрылась проблема start-start что привело к отваливанию всего приложения. Угадай, как пофиксили? Sleep(300) . И не то, чтобы так кто-то не умел фиксить по другому, просто так было проще (моё мненеи — нафиг такое проще).
Re[2]: Как правильно приостановить поток?
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, RussianFellow, Вы писали:


RF>>Вопрос состоит в следующем--правильно ли я делаю, что организовал цикл while ((*threadflag!=0)&&(*threadflag!=1)) и в нём вызываю команду Sleep(1000); для ожидания команды завершить или возобновить поток? Или же можно как-то по-другому это сделать?


К>1. Делать принудительную самоостановку — Sleep(t) — плохая практика, ибо это приводит к тормозам в другом потоке, который захочет повзаимодействовать с твоим (например, на предмет завершения программы).

Некоторые так баги фиксят... У нас на проекте вскрылась проблема start-start что привело к отваливанию всего приложения. Угадай, как пофиксили? Sleep(300) . И не то, чтобы кто-то не умел фиксить по другому, просто так было проще (моё мненеи — нафиг такое проще).