Russian Qt Forum
Март 28, 2024, 19:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Копирование нитей в дочернем процессе(fork, pthreads)  (Прочитано 20777 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« : Декабрь 27, 2018, 13:32 »

Скажите если перед вилкой созданы какие-либо потоки, то будут ли созданы их копии после вызова "вилки" fork
в дочернем процессе?

Код
C++ (Qt)
int main(void)
{
 
printf("MAIN\n");
 
pthread_t tid_1;
pthread_create(&tid_1, NULL, routine_1, NULL);
pthread_detach(tid_1);
 
pthread_t tid_2;
pthread_create(&tid_2, NULL, routine_2, NULL);
pthread_detach(tid_2);
 
 
pid_t pid = fork();
printf("child pid = %d\n", pid);
 
if(pid > 0){
 
//_____PARENT PROCESS____
while(!getchar());
 
}
else{
 
//_____CHILD PROCESS____
while(!getchar());
}
}
 

Спасибо!
« Последнее редактирование: Декабрь 27, 2018, 14:37 от demaker » Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 861


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #1 : Декабрь 27, 2018, 14:53 »

Нет.
http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #2 : Декабрь 27, 2018, 15:42 »

Спасибо Смеющийся уже проверил
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.075 секунд. Запросов: 22.