| 
| 
 | Вопрос # 5 618/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!
 Предположим я в потоке создаю ещё один поток с помощью win-api функции CreateThread.
 
 Завершится ли полученный дочерний поток при завершении родительского?
 
 И ещё, если я создаю новый поток в главном потоке (в основной части кода) и программа завершается, завершится ли дочерний поток?
 
|  |   Вопрос задал: Gooddy (статус: 3-ий класс)Вопрос отправлен: 3 сентября 2011, 15:21
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, Gooddy!
 Цитата: Предположим я в потоке создаю ещё один поток с помощью win-api функции CreateThread.Предположим я в потоке создаю ещё один поток с помощью win-api функции CreateThread. Если предыдущий поток создан этой же функцией, то хорошо, но если с помощью класса TThread - плохо. Лучше в программе не смешивать две техники до тех пор, пока не будет понимания "что происходит".
 
 
 Цитата: Завершится ли полученный дочерний поток при завершении родительского? Завершится ли полученный дочерний поток при завершении родительского? А зачем ему завершатся? потоки принадлежат процессу. И когда последний поток завершится - процесс тоже. Сам по себе процесс не исполняется.
 
 Цитата: И ещё, если я создаю новый поток в главном потоке (в основной части кода) и программа завершается, завершится ли дочерний поток?И ещё, если я создаю новый поток в главном потоке (в основной части кода) и программа завершается, завершится ли дочерний поток? А вот тут неверно поставленный вопрос. Что такое "завершилась программа"? Это когда все ее потоки остановлены. Если хотя бы один поток продолжает работать - программа работает. ("программа" равно "процесс"). Но дело в том, что главный тред по завершению работы вызывает ExitProcess (так спроектирован vcl) и это завершает все потоки.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 3 сентября 2011, 22:58
 Оценка за ответ: 5
 Комментарий к оценке: Как всегда качественно и ответ для моей ситуации хороший (что потоки сами по себе не тормозят). Двойное спасибо. |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |