J'écris une application C# qui peut créer une série de messages de requête. Chaque message pourrait avoir une réponse, qui doit être attendue par un consommateur.Y at-il une limite sur le nombre d'objets mutex qui peuvent être créés dans un processus Windows?
Lorsque le nombre de messages de demande en attente est limité, j'ai utilisé l'événement Windows pour résoudre ce problème. Cependant, je sais qu'il y a une limite au nombre d'objets EVENT pouvant être créés dans un seul processus, et dans ce cas, il est possible que je dépasse cette limite.
Est-ce que quelqu'un sait s'il existe une limite similaire pour la création d'objets mutex ou de sémaphores? Je sais que cela peut être résolu par une sorte de pool de ressources partagées, qui sont saisies par les consommateurs quand ils doivent attendre, mais il serait plus pratique que chaque message de requête ait son propre objet de synchronisation.
Les sections critiques sont plus légères si vous en avez besoin de beaucoup. Rappelez-vous, je me méfie des conceptions qui nécessitent beaucoup d'objets de style mutex. –
J'ai vu divers articles sur les limites strictes des ressources système. Raymond Chen est un bon endroit pour commencer à regarder. Cependant, je suis d'accord avec Marcelo Cantos. Le système peut allouer "beaucoup" d'objets mutex. Si vous avez besoin de savoir exactement combien "beaucoup" est, vous le faites mal. Mettre en pool les ressources ou utiliser une file d'attente d'événements à la place. –