Modification de la limite du nombre maximal de pthreads par une application
Est-il possible par tous les moyens pour modifier la limite sur le nombre de pthreads un processus peut créer ?
Actuellement sur mon système linux, je peux créer autour de 380 fils, mais je veux l'augmenter à-dire aussi longtemps que la mémoire est disponible.
source d'informationauteur Sukanto
Vous devez vous connecter pour publier un commentaire.
réduire l'utilisateur de la taille de la pile '
ulimit -s 1024
';pour augmenter le nombre de threads.
définir la taille de la pile:
pthread_attr_setstacksize(1024)
Votre problème est que vous n'avez pas appelé pthread_detach sur les fils en question. Cela dit pthread que les ressources associées à chaque thread sera libérée lorsque le thread se termine. Vous devez appeler pthread_join ou pthread_release sur tous les fils de la libération fil de ressources. Cela signifie que vous devez également appeler pthread_detach dans votre pthread_join gestionnaires d'annulation ou de fuite.
peut fonctionner sous Linux, mais pas les autres systèmes UNIX. Je pensais que la bonne manière est
Nombre Maximum de threads par processus - sysconf(_SC_THREAD_THREADS_MAX) à défaut
qui fonctionne sur certains systèmes UNIX (comme HPUX), mais pas sur Solaris ou Linux...
Regardez ceci:
Nombre Maximum de threads par processus dans Linux?
Et de prendre un coup d'oeil à ce qu'il pourrait se rapportent à votre question:
Servir un client avec chaque thread du serveur