Je débute sur la POO et j'utilise afin de créer un serveur UDP des thread. J'aimerai me servir de la class thread issu de la STL. Est ce que il est possible de faire quelque chose comme ça :
#include <iostream> // std::cout
#include <thread> // std::thread
#include <stdio.h>
#include <stdlib.h>
#define T_max 10
//g++ -Wall -o thread thread.cpp -lpthread
void thread_lisa(int client_id)
{
std::cout << "je suis dans le thread "<<std::this_thread::get_id()<<"avec le client "<<client_id<<std::endl;
}
int main()
{
int client_id;
client_id = 0;
while(1)
{
client_id++;
std::thread t1(thread_lisa,client_id);
t1.detach();
}
return 0;
}
ou faut-il comme avec la bibliothèque pthread créer un tableau contenant les threads ? Quelque chose comme ça :
std::thread tab[5]={t1,t2,...}; (même si ça me semble pas possible)
Enfaite est ce que dans ma boucle si je fais plusieurs appelle à t1, ça va lancer des threads avec des id différents et distincts à chaque fois ?
Possible, oui. Bonne idée, non. Créer des threads et changer de contexte est coûteux. Si tu fais des milliers de threads, cela aura un impact négatif sur les performances. En général, on utilise des threads pool.
Et si tu debutes la POO et les threads en même temps, il y un problème dans ton apprentissage.
Une référence pour la prog multithread en C++, c'est C++ Concurrency in Action.
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
Multithreading class thread STL C++ 11
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Discord NaN. Mon site.
Discord NaN. Mon site.