Als «multithreading» getaggte Fragen

Multithreading ist die Fähigkeit eines Computers oder eines Programms, gleichzeitig oder asynchron zu arbeiten, indem mehrere gleichzeitige Ausführungsströme verwendet werden (im Allgemeinen als Threads bezeichnet).


8
Ausführen eines ExecutorService in einen Daemon in Java
Ich verwende einen ExecutoreService in Java 1.6, der einfach von gestartet wurde ExecutorService pool = Executors.newFixedThreadPool(THREADS). Wenn mein Hauptthread fertig ist (zusammen mit allen vom Thread-Pool verarbeiteten Aufgaben), verhindert dieser Pool, dass mein Programm heruntergefahren wird, bis ich explizit aufrufe pool.shutdown(); Kann ich vermeiden, dass ich dies aufrufen muss, indem …



2
SpinWait vs Sleep warten. Welches verwenden?
Ist es effizient zu SpinWait.SpinUntil(() => myPredicate(), 10000) für eine Zeitüberschreitung von 10000ms oder Ist es effizienter, Thread.SleepPolling für dieselbe Bedingung zu verwenden ? Zum Beispiel etwas in Anlehnung an die folgende SleepWaitFunktion: public bool SleepWait(int timeOut) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); while (!myPredicate() && stopwatch.ElapsedMilliseconds < timeOut) …


2
Wie erstelle ich eine Aufgabe (TPL), auf der ein STA-Thread ausgeführt wird?
Die Verwendung von Thread ist ziemlich einfach Thread thread = new Thread(MethodWhichRequiresSTA); thread.SetApartmentState(ApartmentState.STA); Wie kann ich dasselbe mit Aufgaben in einer WPF-Anwendung erreichen? Hier ist ein Code: Task.Factory.StartNew ( () => {return "some Text";} ) .ContinueWith(r => AddControlsToGrid(r.Result)); Ich erhalte eine InvalidOperationException mit Der aufrufende Thread muss STA sein, da …


6
Gibt es in Java die Funktion "Blockieren, bis die Bedingung erfüllt ist"?
Ich schreibe einen Listener-Thread für einen Server und verwende im Moment: while (true){ try { if (condition){ //do something condition=false; } sleep(1000); } catch (InterruptedException ex){ Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex); } } Mit dem obigen Code stoße ich auf Probleme mit der Ausführungsfunktion, die die gesamte CPU-Zeitschleife verschlingt. Die Schlaffunktion funktioniert, …




4
Software-Threads gegen Hardware-Threads
Was ist der Unterschied zwischen Software-Threads, Hardware-Threads und Java-Threads? Sind Software-Threads, Java-Threads und Hardware-Threads unabhängig oder voneinander abhängig? Ich frage dies, weil ich weiß, dass Java-Threads in einem Prozess mit in jvm (java.exe) erstellt werden. Stimmt es auch, dass diese unterschiedlichen Prozesse auf unterschiedlichen Hardware-Threads ausgeführt werden?

2
Ist id = 1 - id atomar?
Ab Seite 291 der OCP Java SE 6 Programmer Practice Exams, Frage 25: public class Stone implements Runnable { static int id = 1; public void run() { id = 1 - id; if (id == 0) pick(); else release(); } private static synchronized void pick() { System.out.print("P "); System.out.print("Q …


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.