Unterschied zwischen Semaphoren/Lock und ExecutorService

Status
Nicht offen für weitere Antworten.
O

osix2000

Gast
Hallo Java-Gemeinde:

Ich beschäftige mit Multithreading.

Habe ich das jetzt richtig verstanden ? es gibt zum einen den ExecutorService mit Threadpool
ODER die Semaphoren Technik mit lock und unlock....

Das sind doch zwei verschiedene Sachen, die nichts miteinander zu tun haben, oder ?

Aber mir ist nicht klar, wozu man dann die Semaphoren und locks braucht. Der Executorservice und Threadpool
scheint doch ein sehr mächtiges Werkzeug zu sein, da ist doch alles mit drin, was man braucht.
Oder gibts Nachteile, die man mit Semaphoren nicht hat ?
 

byte

Top Contributor
osix2000 hat gesagt.:
Habe ich das jetzt richtig verstanden ? es gibt zum einen den ExecutorService mit Threadpool
ODER die Semaphoren Technik mit lock und unlock....

Das sind zwei grundverschiedene Dinge. Ein ExecutorService kontrolliert das Starten und Beenden von Threads. Eine Semaphore hat hingegen den Sinn, den Zugang auf Objekte oder Variablen zu regeln. Damit kannst Du z.B. verhindern, dass zwei Threads zeitgleich auf eine Resource zugreifen und es somit zu inkonsistentem Verhalten kommt.
 
O

osix2000

Gast
...wenn ich mit ExecutorService arbeite ?

Oder sollte ich dann "AtomicInt" als Variablentyp verwenden. Es gibt kaum Literatur oder Seiten zu dem Thema, weil das ja erst seit Java 5 verwendet wird.
 

byte

Top Contributor
Es ist völlig wurscht, ob Du mit ExecutorService arbeitest oder direkt mit Threads... gemeinsame Zugriffe musst Du trotzdem synchronisieren. Wie Du das nun machst, bleibt Dir überlassen. Da gibt es verschiedene Lösungswege, die ich hier jetzt nicht breittreten will.

Tipp: Die aktuelle Version von Thinking in Java hat ein Kapitel über Concurrency, wo die Java 5 Änderungen berücksichtigt werden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Unterschied zwischen List und LinkedList implementierung? Allgemeine Java-Themen 15
F Unterschied zwischen NormalizedValue und Value Allgemeine Java-Themen 5
A Best Practice Unterschied zwischen einer sauberen Dependency Injection und einer statischen Klasse Allgemeine Java-Themen 5
M Unterschied zwischen Win 7/2008R2 und Win8.1/2012R2? Allgemeine Java-Themen 8
H Gibt es einen großen Unterschied zwischen Java 6 und Java 7? Allgemeine Java-Themen 3
D Exakte Unterschied zwischen diesen Elementen? Allgemeine Java-Themen 5
N Unterschied zwischen "Java" und "Java mit Eclipse" Allgemeine Java-Themen 17
G Hauptthread anhalten / Unterschied zwischen Main-Thread und dialogelement-Thread Allgemeine Java-Themen 2
Lufti Unterschied zwischen Djava.library.path und Class-Path im Manifest? Allgemeine Java-Themen 2
B Unterschied zwischen Klasse und Objekt? Allgemeine Java-Themen 8
B Gibt es einen Unterschied zwischen Java 1.2 und Java 2? Allgemeine Java-Themen 7
J Unterschied zwischen "Debug" und "Run" Allgemeine Java-Themen 16
P Unterschied zwischen Funktion und Methoden Allgemeine Java-Themen 3
O Unterschied zwischen ThreadPoolExecutor und Executor Service Allgemeine Java-Themen 7
I Unterschied zwischen Applet und JApplet Allgemeine Java-Themen 2
R Der Unterschied zwischen 2.1 und 2.10 Allgemeine Java-Themen 2
P Was ist der Unterschied zwischen JSP und Servlet ? Allgemeine Java-Themen 4
S Unterschied zwischen notify() und notifyAll() Allgemeine Java-Themen 2
M Unterschied zwischen // und \\ Allgemeine Java-Themen 6
E Unterschied zwischen Adapterklassen und abstracten Klassen? Allgemeine Java-Themen 5
Encera Unterschied zweier "toString"-Methoden Allgemeine Java-Themen 1
P Unterschied Java SE und Java EE Allgemeine Java-Themen 2
J Unterschied: Polymorphie und Dynamisches Binden Allgemeine Java-Themen 8
VfL_Freak JDK installieren Unterschied zw. JDK 8_151 und 8_152 Allgemeine Java-Themen 3
T Unterschied Oracle JDK 8u111 8u112 Allgemeine Java-Themen 3
W Unterschied Standalone und Applet Allgemeine Java-Themen 1
O [log4J] Unterschied SocketServer <-> SimpleSocketServer Allgemeine Java-Themen 0
M Unterschied CPU Auslastung Allgemeine Java-Themen 0
N Unterschied Hobby-Codung und Professionelle Softwareentwicklung Allgemeine Java-Themen 5
D Unterschied Vererbung und Polymorphie? Allgemeine Java-Themen 4
G UnterSchied OpenJDK vs JDK Allgemeine Java-Themen 11
G Unterschied MyClass.class vs this Allgemeine Java-Themen 2
H Unterschied EventQueue.invoke... und thread.start() Allgemeine Java-Themen 4
Semox Unterschied bei Thread Erstellung Allgemeine Java-Themen 11
N Unterschied abstract interface und interface Allgemeine Java-Themen 4
G Unterschied Enterprise Anwendung und Web Anwendung Allgemeine Java-Themen 30
Q Unterschied der Logger Allgemeine Java-Themen 9
G Unterschied Long - Int Allgemeine Java-Themen 9
A Unterschied Scanner und Matcher Allgemeine Java-Themen 5
M Unterschied der java.exe des JDK und der JRE Allgemeine Java-Themen 15
K Unterschied Compilierung Eclipse 3.2 und Ant Allgemeine Java-Themen 3
V Unterschied FileOutputStream und FileWriter? Allgemeine Java-Themen 8
B Unterschied: jar <-> konsole Allgemeine Java-Themen 9
G Unterschied abstrakte Klasse und Interface? Allgemeine Java-Themen 3
T abstract - interface Unterschied Allgemeine Java-Themen 22
K Unterschied Core Java / Desktop Allgemeine Java-Themen 12
J Unterschied PrintJob & PrinterJob Allgemeine Java-Themen 11
M Unterschied notify() und notifyAll() Allgemeine Java-Themen 1
N Unterschied Calendar und GregorianCalendar Allgemeine Java-Themen 9
T Unterschied Dämon - Thread (läuft später auf RMI hinaus...) Allgemeine Java-Themen 6
B Unterschied: Java - Java 2 Allgemeine Java-Themen 5
B (String) und toString(), woliegt der Unterschied? Allgemeine Java-Themen 4
B Sent and Receive Funktionen zwischen Objekten ermöglichen? Allgemeine Java-Themen 8
Master3000 Dateien zwischen verschiedenen Netzwerken senden Allgemeine Java-Themen 17
CptK Backpropagation parallelisieren: Kommunikation zwischen den Threads Allgemeine Java-Themen 7
B Schnittstelle zwischen MySQL und Apache Allgemeine Java-Themen 8
TonioTec Api für Datenaustausch zwischen Client und Server Allgemeine Java-Themen 0
Kirby.exe Schauen ob ein Kante zwischen Knoten existiert Allgemeine Java-Themen 4
L Schlüsselworte Wie kann ich am Besten ein LocalDate zwischen Anfangs und EndDate checken Allgemeine Java-Themen 10
Zrebna Random Number - Generische Formel zwischen zwei INKLUSIVEN Werten Allgemeine Java-Themen 16
N Kollision zwischen ImageIcon und Rechteck Allgemeine Java-Themen 1
D Input/Output Zwischen zwei ID-Räumen unterscheiden und Objekt löschen Allgemeine Java-Themen 16
B Zufällig zwischen vorgegebenen Zahlen auswählen Allgemeine Java-Themen 6
J Millisekunde zwischen 2 Daten Allgemeine Java-Themen 6
D Best Practice Die niedrigste Differenz zwischen zwei Listen ermitteln. Allgemeine Java-Themen 10
J Fahrroute zwischen zwei Punkten finden Allgemeine Java-Themen 1
J Transfer von Integer zwischen zwei Clients - RMI Allgemeine Java-Themen 4
G Liste zwischen zwei Kalenderdaten erstellen Allgemeine Java-Themen 3
J Abhängigkeit zwischen Rechenzeit und Speicherbedarf in einen Algorithmus Allgemeine Java-Themen 7
T Strings über Bluetooth zwischen PC,µc oder Samrtphone senden und empfangen Allgemeine Java-Themen 0
H RegularExpression zwischen zwei Strings Allgemeine Java-Themen 2
V Input/Output Austausch von Bytes zwischen C# und Java Allgemeine Java-Themen 3
L Kommunikation zwischen C# und Java? Allgemeine Java-Themen 5
R jTable, nur Werte zwischen 2 Double values ausgeben Allgemeine Java-Themen 3
J Wie erschaffe ich einen sicheren Datenaustausch zwischen Thread und Nicht-Threads Allgemeine Java-Themen 8
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
O Socket-Unterschiede zwischen Windows und Ubuntu Allgemeine Java-Themen 2
Z Vergleich zwischen int und Object Allgemeine Java-Themen 1
S Eclipse Abhängigkeiten zwischen den Projekten in Eclipse Allgemeine Java-Themen 2
G nervendes Problem mit unterschieden zwischen Javax64 und x86 | je nach Programmbedarf beides nötig Allgemeine Java-Themen 2
S Threads Kommunikation zwischen SocketThread und WorkerThread Allgemeine Java-Themen 11
J Java-Implementierung diverser Beziehungen zwischen Klassen bzw. Objekten Allgemeine Java-Themen 2
B Unteschiede zwischen Kantenoperatoren Allgemeine Java-Themen 3
A Kommunikation zwischen 2 Jar-dateien Allgemeine Java-Themen 16
X Datentypen Prozentualer Abgleich zwischen 2 Strings (Pattern?) Allgemeine Java-Themen 3
Z zeit zwischen maus drücken und loslassen Allgemeine Java-Themen 7
C Komisches Verhalten zwischen Set und List bei contains Allgemeine Java-Themen 6
K Objekt-Austausch zwischen zwei Programmen über System-Clipboard Allgemeine Java-Themen 5
N Gridbaglayout - Abstände zwischen Komponenten einstellen Allgemeine Java-Themen 2
H Datenaustausch zwischen zwei Java-Programmen Allgemeine Java-Themen 5
C Swing Daten zwischen JTable teilen Allgemeine Java-Themen 6
X Bild im Memory zwischen speichern Allgemeine Java-Themen 11
T Zugriff zwischen Klassen für repaint Allgemeine Java-Themen 7
S Assoziation zwischen 2 klassen Allgemeine Java-Themen 14
V Threads & Pipes Datenaustausch zwischen Threads Allgemeine Java-Themen 2
C Strings zwischen 2 Zeichen auslesen Allgemeine Java-Themen 7
E kommunikation zwischen Fenstern Allgemeine Java-Themen 3
A Differenz zwischen zwei Uhrzeiten Allgemeine Java-Themen 7
S Datenformat zum Austausch zwischen Java und Python? Allgemeine Java-Themen 3
G Interface zwischen 2 Programmierern Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben