Re[4]: Как приостановить выполнение другой программы (pause)
От: SergeMukhin Россия  
Дата: 13.02.04 11:57
Оценка:
Здравствуйте, vadim77, Вы писали:


SM>>но на все thread процесса


V>SuspendThread конечно подвесит, но что произойдет, если логика приложения не рассчитана на такое? Т.е. я хочу сказать, что если в приложении несколько завязанных друг на друга потоков то вызывая SuspendThread в цикле можно попасть в ситуацию, что один уже висит, а тот который с ним работает еще нет и поведение программы будет непредсказуемым.


обязательно! но верояность чрезвычайно мала, т.к. когда один tread работает, другой все равно уже стоит (за искл многопроцессорных систем), т.е. создать такую ситуацию очеь сложно, опять же и thread который всех останавливает тоже работает (а другие стоят ждут очереди).
чтобы минимзировать вероятность этого, можно дать повышенный приоритет на врему suspend'ов.
... << RSDN@Home 1.1.0 stable >>
---
С уважением,
Сергей Мухин
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.