Articles of multithreading

quelle est la plage de valeurs de thread et id de processus?

fork et pthread_create un identifiant de processus ou un identifiant de thread. Mais je ne connais pas la plage de valeur de ces identifiants. Maintenant, je veux faire une table de recherche, dans chaque entrée il y a un élément / champ pour l’identifiant de thread. la structure de chaque entrée est la suivante: typedef […]

Annuler la manipulation de libcurl easy

Existe-t-il un moyen simple d’annuler un curl_easy_perform d’un autre thread?

Confus à propos de l’argument dans pthread_create ()

Ma question: pourquoi ne pas simplement passer & i comme dernier argument de pthread_create ()? à la place, il crée un tableau contenant la même chose …. #define THREAD_CT 2 /* bump this up a few numbers if you like */ void *print_stuff(void *ptr) { int i, id= * (int *) ptr; for (i= 0; […]

Semaphore Vs Condition Variables en multithreading?

Problème : je dois incrémenter les variables x1 et x2, ce qui devrait être fait par des threads séparés. L’incrément suivant des deux variables ne devrait pas être appelé tant que l’incrément précédent des deux variables n’est pas terminé. Problème: x1 = 0; x2 = 0; x1++; and x2++; should run parallel on different threads […]

Quelle est l’importance de définir fd max sur select?

Dans une boucle infinie, j’écoute plus de 100 descripteurs de fichiers avec select. Si fd a des paquets prêts à être lus, je préviens le thread de processeur de paquets affecté à ce descripteur de fichier et je ne règle pas le bit de ce descripteur de fichier pour le tour suivant tant que je […]

Commander l’exécution de deux threads

Je veux écrire deux threads, le premier lit une chaîne dans la console et le second affiche le nombre de caractères qu’il contient. Pour ce faire, je dois définir l’ordre d’exécution des threads, lire en premier, écrire en second. Aussi, je veux qu’un thread s’exécute à la fois. Comment puis-je faire ceci? #include #include #include […]

À propos de la sécurité des threads dans malloc et gratuitement

Dupliquer possible: Malloc thread-safe? J’ai entendu dire que glibc malloc () n’était pas thread-safe, car plusieurs threads d’un processus appelant simultanément malloc () conduiraient à un comportement indéfini. Et ma question est si un thread appelle free () un autre thread appellera-t-il malloc (), cela conduira-t-il également à un comportement indéfini?

Est-ce que Compare & Swap (CAS) 64 bits doit fonctionner sur une machine 32 bits? (ou machine 64 bits?)

J’ai donc lu que dans une machine 32 bits, on peut utiliser l’opération CAS avec des blocs 64 bits alignés. De même, dans une machine 64 bits, on peut utiliser le fonctionnement CAS avec des blocs alignés de 128 bits. J’utilise une machine 32 bits alors j’ai essayé ce qui suit: // sizeof(long long) is […]

Communication inter-fil en C

Dans le cadre de mon projet, je dois modifier un algorithme d’intégration numérique à l’aide de threads. C’est à peu près ce qui se passe dans l’approche séquentielle conventionnelle. void Controller(struct DE) { //initialization step for(;;) //till the entire range has not been covered… { //compute the next time-point solution using the previously known solutions. […]

Comment déboguer efficacement une application client-serveur à curses multiples avec gdb?

J’écris une petite application client / serveur qui utilise ncurses comme boîte à outils TUI sur les clients. Les clients sont multithreads, un thread est utilisé pour communiquer avec le serveur (via des sockets) et un thread qui gère l’interface utilisateur. J’ai découvert un bogue et j’aimerais parcourir les instructions des clients pour voir où […]