Un sémaphore est un concept de programmation fréquemment utilisé pour résoudre des problèmes de multi-threading. Ma question à la communauté: Qu'est-ce qu'un sémaphore et comment l'utilisez-vous?
Existe-t-il un objet Mutex en java ou un moyen d'en créer un? Je demande parce qu'un objet Semaphore initialisé avec 1 permis ne m'aide pas. Pensez à ce cas: try { semaphore.acquire(); //do stuff semaphore.release(); } catch (Exception e) { semaphore.release(); } si une exception se produit lors de la …
Leurs interfaces publiques semblent similaires. La documentation indique que SemaphoreSlim est une alternative légère et n'utilise pas de sémaphores du noyau Windows. Cette ressource indique que le SemaphoreSlim est beaucoup plus rapide. Dans quelles situations le SemaphoreSlim a-t-il plus de sens sur le Sémaphore et vice versa?
Y a-t-il un avantage à utiliser java.util.concurrent.CountdownLatch au lieu de java.util.concurrent.Semaphore ? Pour autant que je sache, les fragments suivants sont presque équivalents: 1. Sémaphore final Semaphore sem = new Semaphore(0); for (int i = 0; i < num_threads; ++ i) { Thread t = new Thread() { public void …
http://msdn.microsoft.com/en-us/library/system.threading.semaphoreslim.aspx Pour créer un sémaphore, je dois fournir un nombre initial et un nombre maximum. MSDN déclare qu'un décompte initial est - Nombre initial de requêtes pour le sémaphore pouvant être accordées simultanément. Bien qu'il indique que le nombre maximum est Le nombre maximum de requêtes pour le sémaphore qui …
Voici le code que j'ai mais je ne comprends pas ce que je SemaphoreSlimfais. async Task WorkerMainAsync() { SemaphoreSlim ss = new SemaphoreSlim(10); List<Task> trackedTasks = new List<Task>(); while (DoMore()) { await ss.WaitAsync(); trackedTasks.Add(Task.Run(() => { DoPollingThenWorkAsync(); ss.Release(); })); } await Task.WhenAll(trackedTasks); } void DoPollingThenWorkAsync() { var msg = Poll(); …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.