begin process at 2012 05 30 05:38:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

Problèmes de Création de Threads Windows/Linux


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problèmes de Création de Threads Windows/Linux

jeudi 26 juillet 2007 à 16:01:11 | Problèmes de Création de Threads Windows/Linux

LaKiks51

Bonjour

Le but est de savoir combien de threads peuvent etre executer simultanément c'est à dire que j'ai un executable qui réalise une opération pendant un temps donné. Cet executable prend en paramètre le nombre de threads qu'il va executer simultanément. Ce que  j'aurais aimé savoir c'est le nombre limite de création de threads.

J?ai réussi à "coder" quelque chose sous Windows et j'obtiens un nombre de threads de 2000 environ c'est-à-dire que j'en crée un maximum jusqu'aux limites de la machine et ce nombre limite est apparemment 2000 (La machine ne sature pas mais elle ne va pas plus loin que ce nombre.)

J'ai ensuite effectué la même opération sous linux et je ne dépasse pas les 200. Contrairement à Windows où lorsque j'arrive autour des 2000 threads, la machine ne rame pas, sous linux c'est atroce... Je trouve cela très bizarre et je me demande si cela ne viens pas de mon code sous linux. J'utilise ces fonctions:

Je déclare comme ceci

pthread_t handle[1024] ; //Je voudrais créer 1024 threads (par exemple)

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) ce qui rend le problème encore plus bizarre, du moins à mes yeux.

J'espere avoir été clair
Merci de votre aide
jeudi 26 juillet 2007 à 16:37:40 | Re : Problèmes de Création de Threads Windows/Linux

BruNews

Administrateur CodeS-SourceS
2000 context threads obtenus ok mais pas pour autant que 2000 tourneront et loin s'en faut, seulement le nbr de coeurs de calculs libres à un certain moment.

ciao...
BruNews, MVP VC++
jeudi 26 juillet 2007 à 16:44:48 | Re : Problèmes de Création de Threads Windows/Linux

LaKiks51

Je suis d'accord avec ca mais comment expliquer une si grande différence entre les deux OS sachant que les processeurs sont identiques et qu'il n'y a pas forcement plus de process qui tournent sur telle ou telle machine?
jeudi 26 juillet 2007 à 16:49:29 | Re : Problèmes de Création de Threads Windows/Linux

BruNews

Administrateur CodeS-SourceS
C'était juste pour préciser le cas Windows, je ne connais pas Linux.

ciao...
BruNews, MVP VC++
samedi 28 juillet 2007 à 11:30:43 | Re : Problèmes de Création de Threads Windows/Linux

katsankat

Membre Club
T'as quel noyau? La série 2.6 a beaucoup amélioré les performances des threads.

Tout process est limité par /usr/include/bits/local_lim.h qui dit:
/* The number of threads per process.  */
#define _POSIX_THREAD_THREADS_MAX       64
/* This is the value this implementation supports.  */
#define PTHREAD_THREADS_MAX     16384


Commande ulimit pour obtenir ou définir les limites d'un processus.

Si le but est uniquement de savoir le nombre max de threads fais aussi un
cat /proc/sys/kernel/threads-max
C'est le nombre maxi que le noyau peut supporter. En sachant que ton appli n'est pas seule sur le système.


Cette discussion est classée dans : nombre, windows, linux, machine, threads


Répondre à ce message

Sujets en rapport avec ce message

Threads C++ sous windows et linux [ par neodelphi ] Bonjour tout le monde !Travaillant sur un projet j'ai besoin d'utiliser des threads. Dans un soucis de portabilité je souhaiterai que mon programme pu Programmation système sous LINUX [ par deck_bsd ] Bonjour a tous, Voila j'ai installé une mandriva 2006, je programme en C et compile avec gcc norme C99. Je suis bien avancé en programmation C win32, segmentation d'image sous linux ou bien windows [ par abdou28 ] bonjour et merci d'avance;         je vous remerci encore une fois pour l'elaboration de ce cite. moi, je suis etudia Visual C++ 2005 Express : Grauit mais .... [ par cpprooky ] Bonjour à tous ! Voila un petit post qui est plus la pour avoir votre avis sur l'affaire plutot que pour obtenir une réponse à un problème : Je me lan Dépendances aux dll [ par mooolo ] Salut, Voila je suis nouveau sous linux, j'avais fait un petit prog sous windows avec la librairie multimedia allegro,cependant pour que mon executa QT3 / GTK [ par piwee ] Salut, j'aimerai développer des applis en C (Linux/Windows) avec interface graphique. Mais avant de me lancer dans l'apprentissage, j'aimerai savoir problème avec devc++ opengl windows [ par Dyr3e ] bonjour j'aimerai créer une application openGL sous windows mais compatible Linux, du coup je voudrais eviter les déclaration de windows qui ne sont p Windows plante {je sais pas nouveau } pour l'execution du mon code [ par darkwhite ] Salut a tous Je debute en C, et j'ai commencer a faire un petit programme. A la moitié de la creation je l'essaie mé windows me sort un message derreu Apprendre les sockets en C (multiplateforme) [ par nikoland ] Bonjour,J'aimerais apprendre la programmation des sockets en C. Auriez-vous quelques liens de référence à m'indiquer ?J'aimerais si possible des sourc Utilisation de la oculeur sous windows et linux [ par christophedlr ] Bonsoir à tous,Je voudrais savoir si il y a un moyen d'utiliser de la couleur dans la console DOS donc souw windows et la console Linux.J'ai trouvé pl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales