Pthreads (POSIX Threads) est une API standardisée basée sur C pour créer et manipuler des threads. Il est actuellement défini par POSIX.1-2008 (IEEE Std 1003.1, 2013 Edition / The Open Group Base Specifications Issue 7).
J'ai récupéré la démo suivante sur le Web à partir de 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; …
Je lis sur pthread.h; les fonctions liées aux variables de condition (comme pthread_cond_wait(3)) nécessitent un mutex comme argument. Pourquoi? Pour autant que je sache, je vais créer un mutex juste pour l'utiliser comme cet argument? Qu'est-ce que ce mutex est censé faire?
Toutes les fonctions mentionnées dans ce bloc sont des fonctions de bibliothèque. Comment puis-je rectifier cette fuite de mémoire? Il est répertorié dans la catégorie " Toujours joignable ". (Il y en a 4 autres, qui sont très similaires, mais de tailles variables) 630 bytes in 1 blocks are still …
Pour citer la page de manuel: Lors de l'utilisation de variables de condition, il existe toujours un prédicat booléen impliquant des variables partagées associées à chaque condition d'attente qui est vrai si le thread doit continuer. Des réveils parasites des fonctions pthread_cond_timedwait () ou pthread_cond_wait () peuvent se produire. Puisque …
Dans divers projets multi threadés C et C ++, j'ai vu l' -pthreadindicateur appliqué à la fois à l'étape de compilation et de liaison, tandis que d'autres ne l'utilisent pas du tout et passent simplement -lpthreadà l'étape de liaison. Y a-t-il un danger à ne pas compiler et à lier …
J'installe mingw-w64 sur Windows et il y a deux options: les threads win32 et les threads posix. Je sais quelle est la différence entre les threads win32 et les pthreads, mais je ne comprends pas quelle est la différence entre ces deux options. Je doute que si je choisis les …
J'ai besoin de passer plusieurs arguments à une fonction que je voudrais appeler sur un thread séparé. J'ai lu que la manière typique de le faire est de définir une structure, de lui transmettre un pointeur et de la déréférencer pour les arguments. Cependant, je ne parviens pas à faire …
Je suis toujours confus. Quelqu'un expliquerait-il ce que Reentrant signifie dans différents contextes? Et pourquoi voudriez-vous utiliser réentrant ou non réentrant? Dites primitives de verrouillage pthread (posix), sont-elles réentrantes ou non? Quels pièges faut-il éviter lors de leur utilisation? Le mutex est-il réentrant?
Y a-t-il une différence entre pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; Ou pthread_mutex_t lock; pthread_mutex_init ( &lock, NULL); Suis-je suffisamment en sécurité si j'utilise uniquement la première méthode? REMARQUE: Ma question se réfère principalement à de très petits programmes où, au maximum, je vais connecter plusieurs clients à un serveur et résoudre …
Dans le programme Linux C, comment imprimer l'ID de thread d'un thread créé par la bibliothèque pthread? par exemple: on peut obtenir le pid d'un processus engetpid()
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.