Вопросы с тегом «pthreads»

Pthreads (POSIX Threads) - это стандартизированный API на основе C для создания потоков и управления ими. В настоящее время он определен в стандарте POSIX.1-2008 (IEEE Std 1003.1, издание 2013 г. / The Open Group Base Specifications Issue 7).

14
Неопределенная ссылка на pthread_create в Linux
Я взял следующую демонстрацию в Интернете с https://computing.llnl.gov/tutorials/pthreads/ #include <pthread.h> #include <stdio.h> #define NUM_THREADS 5 void *PrintHello(void *threadid) { long tid; tid = (long)threadid; printf("Hello World! It's me, thread #%ld!\n", tid); pthread_exit(NULL); } int main (int argc, char *argv[]) { pthread_t threads[NUM_THREADS]; int rc; long t; for(t=0; t<NUM_THREADS; t++){ printf("In …


3
cmake и libpthread
Я бегу RHEL 5.1и использую gcc. Как мне сказать cmakeдобавить -pthreadв компиляцию и линковку?
188 pthreads  cmake 

10
Почему функции условных переменных pthreads требуют мьютекса?
Я читаю на pthread.h; функции, связанные с условной переменной (например pthread_cond_wait(3)), требуют мьютекса в качестве аргумента. Зачем? Насколько я могу судить, я буду создавать мьютекс просто использовать в качестве этого аргумента? Что должен делать этот мьютекс?


5
Вальгринд обнаружил утечку
Все функции, упомянутые в этом блоке, являются библиотечными функциями. Как я могу исправить эту утечку памяти? Он указан в категории « Все еще достижимо ». (Есть еще 4, которые очень похожи, но разных размеров) 630 bytes in 1 blocks are still reachable in loss record 5 of 5 at 0x4004F1B: …
154 c  pthreads  valgrind 

4
Почему pthread_cond_wait имеет ложные пробуждения?
Чтобы процитировать man страницу: При использовании условных переменных всегда существует логический предикат, включающий общие переменные, связанные с каждым условным ожиданием, которое истинно, если поток должен продолжить. Могут возникнуть ложные пробуждения от функций pthread_cond_timedwait () или pthread_cond_wait (). Поскольку возврат из pthread_cond_timedwait () или pthread_cond_wait () ничего не подразумевает в значении …
145 c  pthreads 

2
Значение флага -pthread при компиляции
В различных многопоточных проектах C и C ++ я видел, как этот -pthreadфлаг применялся как на этапе компиляции, так и на этапе компоновки, в то время как другие не использовали его вообще и просто переходили -lpthreadна этап компоновки. Есть ли опасность не компилировать и не связываться с -pthreadфлагом - т.е. …
143 c++  c  linux  pthreads 

3
mingw-w64 потоки: posix против win32
Я устанавливаю mingw-w64 в Windows, и есть два варианта: потоки win32 и потоки posix. Я знаю, в чем разница между потоками win32 и pthreads, но я не понимаю, в чем разница между этими двумя вариантами. Я сомневаюсь, что если я выберу потоки posix, это помешает мне вызывать функции WinAPI, такие …
129 windows  gcc  pthreads  mingw 


8
Несколько аргументов функции, вызываемой pthread_create ()?
Мне нужно передать несколько аргументов функции, которую я хотел бы вызвать в отдельном потоке. Я читал, что типичный способ сделать это - определить структуру, передать функции указатель на нее и разыменовать ее для аргументов. Однако я не могу заставить это работать: #include <stdio.h> #include <pthread.h> struct arg_struct { int arg1; …
96 c  pthreads 

4
Что такое блокировка реентера и концепция в целом?
Я всегда путаюсь. Может ли кто-нибудь объяснить, что означает реентерабельность в разных контекстах? И почему вы хотите использовать реентерабельность и не реентерабельность? Скажем, примитивы блокировки pthread (posix), являются ли они реентерабельными или нет? Каких подводных камней следует избегать при их использовании? Повторяется ли мьютекс?

4
PTHREAD_MUTEX_INITIALIZER против pthread_mutex_init (& мьютекс, параметр)
Есть ли разница между pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; Или pthread_mutex_t lock; pthread_mutex_init ( &lock, NULL); Достаточно ли я в безопасности, если использую только первый метод? ПРИМЕЧАНИЕ. Мой вопрос в основном относится к очень маленьким программам, где самое большее, что я буду делать, - это подключать несколько клиентов к серверу и …
91 c  ubuntu  pthreads  mutex 


9
функция pthread из класса
Скажем, у меня есть такой класс, как class c { // ... void *print(void *){ cout << "Hello"; } } И тогда у меня есть вектор c vector<c> classes; pthread_t t1; classes.push_back(c()); classes.push_back(c()); Теперь я хочу создать тему на c.print(); И следующее дает мне проблему ниже: pthread_create(&t1, NULL, &c[0].print, NULL); …
86 c++  pthreads 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.