Als «java.util.concurrent» getaggte Fragen

10
Synchronisation gegen Sperre
java.util.concurrentDie API stellt eine Klasse namens as bereit Lock, die das Steuerelement grundsätzlich serialisiert, um auf die kritische Ressource zuzugreifen. Es gibt Methoden wie park()und unpark(). Wir können ähnliche Dinge tun, wenn wir synchronizedSchlüsselwörter wait()und notify() notifyAll()Methoden verwenden können. Ich frage mich, welches davon in der Praxis besser ist und …

8
Gibt es einen Mutex in Java?
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 …

3
FixedThreadPool vs CachedThreadPool: das kleinere von zwei Übeln
Ich habe ein Programm, das Threads (~ 5-150) erzeugt, die eine Reihe von Aufgaben ausführen. Ursprünglich habe ich a verwendet, FixedThreadPoolweil diese ähnliche Frage darauf hindeutete, dass sie besser für längerlebige Aufgaben geeignet sind, und mit meinen sehr begrenzten Kenntnissen über Multithreading habe ich die durchschnittliche Lebensdauer der Threads (mehrere …

3
WARTEN bei sun.misc.Unsafe.park (native Methode)
Eine meiner Anwendungen hängt unter einer gewissen Zeit unter Last. Weiß jemand, was eine solche Ausgabe in jstack verursachen könnte: "scheduler-5" prio=10 tid=0x00007f49481d0000 nid=0x2061 waiting on condition [0x00007f494e8d0000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000006ee117310> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1085) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807) …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.