J'essayais un programme simple en ce qui concerne la synchronisation des threads en utilisant pthreads sur un système Linux. La source de mon programme peut être trouvée au http://pastebin.com/5EWS68NL.Synchronisation des threads - Nombre maximum de threads pour un processus
Le programme doit essentiellement imprimer le nombre 1 à LIMIT (un nombre arbitraire) dans l'ordre croissant. Un thread est assigné pour imprimer chaque numéro, il attend que sa variable de condition soit signalée et il imprime le numéro.
Le programme fonctionne bien jusqu'à LIMIT = 380. Plus que cela, le programme se bloque. C'est à dire, je ne pense pas que pthread_create() renvoie une erreur depuis que j'ai essayé d'imprimer le numéro de l'erreur et aussi inclus fflush (stdout) en cas d'erreur.
Le nombre maximal de threads pour le système peut être spécifié dans/proc/sys/kernel/threads-max. J'ai essayé de l'augmenter arbitrairement, sans succès. Le programme se bloque si le nombre de threads est d'environ 380.
Des idées pourquoi ce pourrait être le cas? Est-ce que cette valeur '380' diffère selon les systèmes?
Merci et salutations,
Hrishikesh Murali
Oh, d'accord. Je vais essayer et revenir. :-) –