pthreads — все вопросы
1ответ
19 голосов
Резервная параллельная очередь FIFO в C ++
Является ли это правильным способом реализации поточно-зависимой очереди FIFO в C ++? Он требует передачи массивов unsigned char* двоичных данных.
Революционная параллельная очередь потоков
#
2ответа
10 голосов
Есть ли лучший способ прорисовки этой функции класса?
У меня есть класс bar, который отслеживает N экземпляров класса foo в std::map (так что N = map.size()).
Когда я вызываю bar::func Я хочу иметь N потоки, которые вызывают foo::foo_func.
foo::foo_
1ответ
10 голосов
Легкая асинхронная библиотека событий в модуле C - Threadpool
Я закончил писать библиотеку C, целью которой является предоставление простого API для асинхронного выполнения функций, ожидание событий в дескрипторах файлов и ожидание тайм-аутов. Вся библиотека о
1ответ
10 голосов
Лямбда-функции нарезания резьбы
Я создал этот очень маленький заголовок, который позволяет прямое создание потоков из lambdas.
Я не могу найти ничего подобного в сети, поэтому я хочу знать, есть ли проблемы с этим, о которых я не
4ответа
1 голос
Лучший алгоритм для многопоточного приложения?
Я определяю алгоритм как best , если он сводит к минимуму общее время выполнения над товарным оборудованием (например, обычные настольные и серверные ПК).
У меня есть наборы A и B . У меня та
4ответа
69 голосов
PTHREAD_MUTEX_INITIALIZER против pthread_mutex_init (& mutex, param)
Есть ли разница между
pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
Или
pthread_mutex_t lock;
pthread_mutex_init ( &lock, NULL);
Достаточно ли я безопасен, если использую только
8ответов
65 голосов
pthreads мьютекс против семафора
В чем разница между семафорами и мьютексами, предоставляемыми библиотекой pthread?
11ответов
47 голосов
Как распечатать pthread_t
Искал, но не нашел удовлетворительного ответа.
Я знаю, что нет портативного способа напечатать pthread_t.
Как ты это делаешь в своем приложении?
Обновление:
На самом деле мне не нужен
4ответа
46 голосов
Pthreads против OpenMP
Я создаю многопоточное приложение на C с использованием Linux.
Я не уверен, должен ли я использовать API потоков POSIX или API OpenMP.
Каковы плюсы & минусы использования либо?
Edit:
8ответов
43 голоса
Как вернуть значение из потока в C
Я новичок в C и хотел бы немного поиграть с темами. Я хотел бы вернуть некоторое значение из потока, используя pthread_exit()
Мой код выглядит следующим образом:
#include <pthread.h>
#inc
3ответа
41 голос
pthread_join () и pthread_exit ()
У меня есть вопрос о параллельном программировании на C.
В библиотеке pthread прототип pthread_join равен
int pthread_join(pthread_t tid, void **ret);
и прототип pthread_exit:
void pthread
8ответов
37 голосов
Когда использовать pthread_exit () и когда использовать pthread_join () в Linux?
Я новичок в pthreads и пытаюсь это понять. Я видел несколько примеров, таких как следующие.
Я мог видеть, что main() заблокирован API pthread_exit(), и я видел примеры, когда основная функция бло
3ответа
37 голосов
Вытесняющие нити против не вытесняющих нитей
Может ли кто-нибудь объяснить разницу между моделью вытесняющих потоков и моделью не вытесняющих потоков?
Согласно моему пониманию:
Модель не вытесняющих потоков: После запуска потока его
4ответа
34 голоса
Существующая реализация пула потоков C [закрыто]
Какую реализацию с открытым исходным кодом в C для пула потоков pthreads вы бы порекомендовали?
Дополнительные пункты, если эта реализация:
Облегченный: glib, APR, NSPR и другие имеют большой
0ответов
32 голоса
Pthread ошибка утверждения мьютекса
Я сталкиваюсь со следующей ошибкой в непредсказуемое время в коммуникационном приложении на основе linux:
pthread_mutex_lock.c:82: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0'
0ответов
29 голосов
В чем разница между многопоточностью Go и потоками pthread или Java?
В чем разница между многопоточным подходом Go и другими подходами, такими как pthread, boost :: thread или Java Threads?
4ответа
25 голосов
Будет ли main () перехватывать исключения, выдаваемые из потоков?
У меня довольно большое приложение, которое динамически загружает общие объекты и выполняет код в общем объекте. В качестве меры предосторожности я поместил попытку /поймать почти все в main. Я созд
0ответов
25 голосов
Установка приоритета потока в Linux с помощью Boost
В Boost-библиотеках, похоже, нет устройства для установки приоритета потока. Будет ли это лучший код для использования в Linux или есть лучший метод?
boost::thread myThread( MyFunction() );
struc
3ответа
24 голоса
Как определить, жива ли отдельная pthread?
Как определить, все еще ли жива отдельная pthread?
У меня есть канал связи с потоком (однонаправленная очередь, указывающая наружу из потока), но что произойдет, если поток умирает без удушь
4ответа
23 голоса
что такое «атрибут» мьютекса pthread?
Функция pthread_mutex_init позволяет указывать указатель на атрибут. Но мне еще предстоит найти хорошее объяснение того, что такое атрибуты pthread. Я всегда только что поставил NULL. Есть ли смысл