Название: std::thread или pthread_t Отправлено: YvenTitan от Декабрь 08, 2016, 15:22 Здравствуйте
Мне надо написать программу без QT с потоками под QNX (советы подойдут и под Linux). Я бы хотел в бОльшей степени писать на С++, чем на С. Сначала я использовал std::thread, но столкнулся с проблемой убить процесс по pidу. И вообще в этом классе мало функций. Если писать через pthread_t, то там много функций и проблему с удалением потока решить легче, но нельзя вызвать функцию-член класса. Через что посоветуете делать потоки? Название: Re: std::thread или pthread_t Отправлено: Пантер от Декабрь 08, 2016, 15:30 > но столкнулся с проблемой убить процесс по pidу. И вообще в этом классе мало функций
Не совсем понял проблему. Название: Re: std::thread или pthread_t Отправлено: YvenTitan от Декабрь 08, 2016, 15:36 Я не знаю, как узнать pid процесса, если создаю поток через std::thread
Название: Re: std::thread или pthread_t Отправлено: Пантер от Декабрь 08, 2016, 15:43 А зачем тебе пид процесса?
Название: Re: std::thread или pthread_t Отправлено: YvenTitan от Декабрь 08, 2016, 15:46 Для того, чтобы сделать kill по pid
Название: Re: std::thread или pthread_t Отправлено: Пантер от Декабрь 08, 2016, 15:52 Ты видимо путаешь потоки и процессы. Обрисуй задачу.
Название: Re: std::thread или pthread_t Отправлено: Авварон от Декабрь 08, 2016, 16:23 Есть нативная ручка (http://www.cplusplus.com/reference/thread/thread/native_handle/)
Но это неправильный подход - тред нельзя просто так убивать, он должен корректно завершить работу. Для этого можно завести флажок finished и проверять его из треда. Название: Re: std::thread или pthread_t Отправлено: qate от Декабрь 08, 2016, 21:12 Через что посоветуете делать потоки? для начала прочитать "Энтони Уильямс - Параллельное программирование на С++ в действии" |