Je vous remercie pour vos réponses, cela m'a bien aidé, notamment à m'apercevoir que ce n'est pas du tout ce que je voulais faire...
Il faudrait que j'utilise les threads pour gérer des exécutions simultanées, il est évident (maintenant) que le nombre d'executions simultanées sera plus important à l'aide des threads. C'est donc ce que j'ai fait et bien entendu j'ai rencontré un problème que voici :
J'ai réussi à programmer quelque chose sous Windows et j'obtiens un nombre de threads de 2000 environs c'est-à-dire que j'en crée un maximum jusqu'au limite de la machine et ce nombre limite est apparemment 2000.
J'ai ensuite effectué la même opération sous linux et je ne dépasse pas les 200. Je trouve cela très bizarre et je me demande si cela ne viens pas de mon code sous linux :
Je déclare comme ceci
pthread_t handle[1024] ; //Je voudrais créer 1024 threads
Ensuite les créations des threads :
While (i != cpt) //cpt contient le nombre de threads que je souhaite créer
{
i f ( pthreat_create(&handle[i], NULL, " Nom du thread ", NULL)<0)
{
printf("begin thread error");
return error
}
i++;
}
Il y aurait-il quelque chose qui ne va pas dans ce code "simplifié" qui ferait que je ne peux pas créer autant de threads que sous windows.
Il faut savoir que les ressources de la machine linux (Mandriva, récente version) sont équivalentes voir supérieures à la machine Windows (Windows XP SP2).
Merci encore de votre aide
