Создаю поток: pthread_create(...) и хочу чтоб он сразу начал выполняться, для этого,как я понимаю, его приоритет должен быть выше породившего процесса. Делаю так:
pthread_attr_t attr;
..............
pthread_attr_init(&attr);
pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED);
pthread_attr_setschedpolicy(&attr, SCHED_RR);
sp.sched_priority = -5;
pthread_attr_setschedparam(&attr, &sp);
err = pthread_create(&tid, &attr, rcv_dma_dat, NULL);
Возвращает - EINVAL.
Если делаю:
err = pthread_create(&tid, NULL, rcv_dma_dat, NULL);
Все нормально.
А, если после создания, поставлю sleep(2), то еще поток и выполнится.
В чем дело ? поясните....
Ответ на:
комментарий
от idle
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум pthread атрибуты потока. (2009)
- Форум pthread не заходит в функцию потока (2012)
- Форум Функция класса и потоки (2006)
- Форум Снова pthreads :(( (2004)
- Форум Приоритеты потоков... help! (2004)
- Форум pthread: утечка памяти или нормальная работа? (2010)
- Форум Linux threads priority problem (2004)
- Форум Учебный фрагмент кода по многопоточному программированию (2017)
- Форум Почему не работает эта программа? (2005)
- Форум многопоточное копирование фала через сокет (2015)