• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Мгновенный перезапуск потока

  • Автор темы ViToTiV
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

ViToTiV

Есть поток в котором выполняется обход компов на обнаружение отшареный ресурсов, подскажите как, например, по нажитии кнопки, остановить его и запустить заново? (я первый раз работаю с потоками, и не совсем разобрался :) ) Ведь если делать Terminate, то он ещё какоето время работает, а сразу остановить нельзя?

Упсь... не в ту ветку вопрос задал... я не чаянно :) Ответьте пожалуйсто :)
 
G

grigsoft

ну есть Suspend\ResumeThread, да только какой в этом смысл в твоем случае?
Виноват, не понял вопрос сразу. Полагаю, правильный ответ - никак. Лучше запустить второй, а потом дождаться окончания первого. Потому как в твоем случае поток неверняка висит в системном вызове, и свернуть все что с этим связано - непросто.
 
B

Barmutik

Судя по тому что он делает он явно висит на сисмном вызове.. хотя по идее при обходе расщаренных ресурсов там нет ничего такого что может настолько зависнуть что нельзя было бы использовать Suspend\Resume ..

Приведите код как Вы делаете обход ...
 
O

orcommander

Если не ошибаюсь, из потока можно безболезненно выйти, если перестанет работать его "мэйн" функция. Сделай так, что бы при нажатии кнопки, в эту функцию передалось значение, которое там сравнивалось бы через if и если оно равно тому, которое ты задал для выхода - функция завершается через return (0) например. :eek:
 
Z

zubr

Для: orcommander
А что делать, если поток стоит на выполнении какой то функции (речь идет о таком случае)? Пока эта функция не завершится поток не выйдет на условие if.
 
O

orcommander

А что делать, если поток стоит на выполнении какой то функции (речь идет о таком случае)? Пока эта функция не завершится поток не выйдет на условие if.

Ну разумеется, именно по этому условие if должно быть в том месте, возле которого поток вертится. В принципе, если так критично, и нужно во что бы то ни стало, завершить поток сразу же после нажатия кнопки - можно поставить проверку хоть через каждую строчку, но... понятно, да?
 
Z

zubr

Блин, да речь идет о том, что выполнение какой то функции в потоке может быть длительным и толку что ты поставишь свое условие перед функцией и после функции - поток будет стоять на самой функции, теперь надеюсь, понятно?
 
O

orcommander

А, ну тогда уж... все зависит от конкретной задачи...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!