Ein Semaphor ist ein Programmierkonzept, das häufig zur Lösung von Multithreading-Problemen verwendet wird. Meine Frage an die Community: Was ist ein Semaphor und wie benutzt man es?
Gibt es ein Mutex-Objekt in Java oder eine Möglichkeit, eines zu erstellen? Ich frage, weil ein Semaphor-Objekt, das mit 1 Erlaubnis initialisiert wurde, mir nicht hilft. Denken Sie an diesen Fall: try { semaphore.acquire(); //do stuff semaphore.release(); } catch (Exception e) { semaphore.release(); } Wenn beim ersten Erwerb eine Ausnahme …
Ihre öffentlichen Schnittstellen sehen ähnlich aus. In der Dokumentation heißt es, dass SemaphoreSlim eine einfache Alternative ist und keine Windows-Kernel-Semaphoren verwendet. Diese Ressource gibt an, dass das SemaphoreSlim viel schneller ist. In welchen Situationen ist das SemaphoreSlim gegenüber dem Semaphore sinnvoller und umgekehrt?
Gibt es einen Vorteil der Verwendung java.util.concurrent.CountdownLatch anstatt java.util.concurrent.Semaphore ? Soweit ich das beurteilen kann, sind die folgenden Fragmente fast gleichwertig: 1. Semaphor final Semaphore sem = new Semaphore(0); for (int i = 0; i < num_threads; ++ i) { Thread t = new Thread() { public void run() { …
Hier ist der Code, den ich habe, aber ich verstehe nicht, was er SemaphoreSlimtut. 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(); …
http://msdn.microsoft.com/en-us/library/system.threading.semaphoreslim.aspx Um ein Semaphor zu erstellen, muss ich eine anfängliche und eine maximale Anzahl angeben. MSDN gibt an, dass eine anfängliche Zählung - ist Die anfängliche Anzahl von Anforderungen für das Semaphor, die gleichzeitig gewährt werden können. Während es angibt, dass die maximale Anzahl ist Die maximale Anzahl von Anforderungen …
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.