Russian Qt Forum

Компиляторы и платформы => Linux => Тема начата: demaker от Декабрь 27, 2018, 13:32



Название: Копирование нитей в дочернем процессе(fork, pthreads)
Отправлено: demaker от Декабрь 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());
}
}
 

Спасибо!


Название: Re: Копирование нитей в дочернем процессе(fork, pthreads)
Отправлено: sergek от Декабрь 27, 2018, 14:53
Нет.
http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them (http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them)


Название: Re: Копирование нитей в дочернем процессе(fork, pthreads)
Отправлено: demaker от Декабрь 27, 2018, 15:42
Спасибо ;D уже проверил