Als «pthreads» getaggte Fragen

Pthreads (POSIX Threads) ist eine standardisierte C-basierte API zum Erstellen und Bearbeiten von Threads. Es ist derzeit in POSIX.1-2008 (IEEE Std 1003.1, Ausgabe 2013 / Open Group Base Specifications, Ausgabe 7) definiert.

14
Undefinierter Verweis auf pthread_create unter Linux
Ich habe die folgende Demo aus dem Internet unter https://computing.llnl.gov/tutorials/pthreads/ abgerufen. #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; …





5
Noch erreichbares Leck von Valgrind erkannt
Alle in diesem Block genannten Funktionen sind Bibliotheksfunktionen. Wie kann ich diesen Speicherverlust beheben? Es ist in der Kategorie " Noch erreichbar " aufgeführt. (Es gibt 4 weitere, die sehr ähnlich sind, aber unterschiedliche Größen haben) 630 bytes in 1 blocks are still reachable in loss record 5 of 5 …
154 c  pthreads  valgrind 

4
Warum hat pthread_cond_wait falsche Weckrufe?
Um die Manpage zu zitieren: Bei Verwendung von Bedingungsvariablen gibt es immer ein boolesches Prädikat mit gemeinsam genutzten Variablen, die jeder Bedingungswartezeit zugeordnet sind. Dies ist der Fall, wenn der Thread fortgesetzt werden soll. Es können falsche Aufweckvorgänge mit den Funktionen pthread_cond_timedwait () oder pthread_cond_wait () auftreten. Da die Rückgabe …
144 c  pthreads 

2
Bedeutung des Flag -pthread beim Kompilieren
In verschiedenen Multithread-C- und C ++ - Projekten habe ich gesehen, dass das -pthreadFlag sowohl auf die Kompilierungs- als auch auf die Verknüpfungsphase angewendet wurde, während andere es überhaupt nicht verwenden und einfach -lpthreadauf die Verknüpfungsphase übergehen . Besteht die Gefahr, nicht mit der -pthreadFlagge zu kompilieren und zu verknüpfen …
143 c++  c  linux  pthreads 

3
mingw-w64 threads: posix vs win32
Ich installiere mingw-w64 unter Windows und es gibt zwei Optionen: Win32-Threads und Posix-Threads. Ich weiß, was der Unterschied zwischen Win32-Threads und Pthreads ist, aber ich verstehe nicht, was der Unterschied zwischen diesen beiden Optionen ist. Ich bezweifle, dass ich bei der Auswahl von Posix-Threads keine WinAPI-Funktionen wie CreateThread aufrufen kann. …
127 windows  gcc  pthreads  mingw 


7
Mehrere von pthread_create () aufgerufene Funktionsargumente?
Ich muss mehrere Argumente an eine Funktion übergeben, die ich in einem separaten Thread aufrufen möchte. Ich habe gelesen, dass der typische Weg, dies zu tun, darin besteht, eine Struktur zu definieren, der Funktion einen Zeiger darauf zu übergeben und sie für die Argumente zu dereferenzieren. Ich kann dies jedoch …
93 c  pthreads 

4
Was ist das Wiedereintrittsschloss und das Konzept im Allgemeinen?
Ich bin immer verwirrt. Würde jemand erklären, was wieder eintritt in verschiedenen Kontexten bedeutet? Und warum sollten Sie wiedereintrittsfähig oder nicht wiedereintrittsfähig verwenden? Sagen wir pthread (posix) sperrende Grundelemente, sind sie wiedereinsteigend oder nicht? Welche Fallstricke sollten bei der Verwendung vermieden werden? Ist Mutex wieder am Start?

4
PTHREAD_MUTEX_INITIALIZER vs pthread_mutex_init (& mutex, param)
Gibt es einen Unterschied zwischen pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; Oder pthread_mutex_t lock; pthread_mutex_init ( &lock, NULL); Bin ich sicher genug, wenn ich nur die erste Methode verwende? HINWEIS: Meine Frage bezieht sich hauptsächlich auf sehr kleine Programme, bei denen ich höchstens mehrere Clients mit einem Server verbinden und ihre Anfragen …
88 c  ubuntu  pthreads  mutex 


9
pthread-Funktion aus einer Klasse
Nehmen wir an, ich habe eine Klasse wie class c { // ... void *print(void *){ cout << "Hello"; } } Und dann habe ich einen Vektor von c vector<c> classes; pthread_t t1; classes.push_back(c()); classes.push_back(c()); Jetzt möchte ich einen Thread erstellen c.print(); Und das Folgende gibt mir das folgende Problem: …
82 c++  pthreads 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.