Так что я не сразу отправляю код здесь, потому что я студент и знаю, что мой код в настоящее время довольно уродлив и в этом случае довольно большой.При использовании pthreads в C++ на Ubuntu. Где начинается и заканчивается основная область потока?
Вопрос 1: Это говорит, что я пытаюсь устранить свою ситуацию больше, чем получить чужое решение моей проблемы. Тем не менее, для начала я просто ищу простой ответ на вопрос о времени жизни основной области потока, когда функция pthread_create вызывается в функции-члене класса. Эта функция-член действует как основной поток, перемещается ли основной поток в другие функции-члены, вызванные внутри этой функции-члена? Или основной поток даже выходит из этой функции, скажем, если эта функция вызывается в цикле от другой функции, будет ли основной поток существовать в этой внешней функции, напоминание о том, что функция pthread_create вызывается функцией в цикле в внешняя функция?
Вопрос 2: Поскольку мне нужно было использовать оболочку для функции вызова для работы с членом класса, я бы использовал pthread_exit в моей оболочке или в моей завернутой функции? И любое понимание структуры вещей, когда это делается таким образом, которое может отличаться от занятий без занятий, было бы весьма признательно.
Вопрос 3: Настроить. Я пытаюсь сохранить идентификаторы потока в виде массива беззнаковых длинных int в моем классе, но всякий раз, когда я пытаюсь использовать один из них в функции pthread_join, он прерывается. Нужно ли быть массивом pthread_t '? В чем разница между pthread_t и unsigned long?
Просто напоминание Я студент не профессионал, пожалуйста, постарайтесь принять это во внимание в ответах, спасибо заранее.
Я более чем готов опубликовать код, если это произойдет. – Gaetano