Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> корректное завершение программы 
:(
    Опции темы
box
Дата 27.9.2013, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: нет
Всего: 0



всем привет!
есть прога,  она создает 3 треада, как завершить выполнение всей проги из любого из треада ?
PM MAIL   Вверх
vinter
Дата 27.9.2013, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Код

exit(0);
 
Но, вобще говоря, так дела не делаются


--------------------
Мой блог
PM MAIL WWW   Вверх
feodorv
Дата 27.9.2013, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



Цитата(box @  27.9.2013,  17:25 Найти цитируемый пост)
как завершить выполнение всей проги из любого из треада ? 

Как "завершить" или как "корректно завершить"? Потому что, действительно, ответом на первый вопрос будет exit или ExitProcess...


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
volatile
Дата 27.9.2013, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(feodorv @  27.9.2013,  17:14 Найти цитируемый пост)
Как "завершить" или как "корректно завершить"? 

судя по названию тему, второе.

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


PM MAIL   Вверх
akizelokro
Дата 30.9.2013, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Корректно - нужно завершить выполнение всех трёх потоков, управление вернётся в основной поток программы, который создал эти потоки и ожидает их завершения, если нужно выйти и прервать выполнение программы, то взводится флаг экстренного выхода, основной поток считывает его и выходит. Если ждать очень неохота, пока всё это остановится, то взводится флаг, а основной поток постоянно считывает его, и при нахождении этого флага сам останавливает потоки и выходит.
Вроде бы так (надо быть уверенным, что потоки не вылетят в "undefined behaivour" при остановке выполнения, но это уже мелочи).


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0460 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.