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).

12
Wenn ich zwei Methoden in derselben Klasse synchronisiert habe, können sie gleichzeitig ausgeführt werden?
Wenn ich zwei Methoden in derselben Klasse synchronisiert habe, können sie dann gleichzeitig auf demselben Objekt ausgeführt werden ? beispielsweise: class A { public synchronized void methodA() { //method A } public synchronized void methodB() { // method B } } Ich weiß, dass ich nicht methodA()zweimal auf demselben Objekt …

9
Erstellen einer blockierenden Warteschlange <T> in .NET?
Ich habe ein Szenario, in dem mehrere Threads zu einer Warteschlange hinzugefügt werden und mehrere Threads aus derselben Warteschlange lesen. Wenn die Warteschlange eine bestimmte Größe erreicht, werden alle Threads , die die Warteschlange füllen, beim Hinzufügen blockiert, bis ein Element aus der Warteschlange entfernt wird. Die folgende Lösung verwende …



17
Was ist ein Deadlock?
Eines der häufigsten Probleme beim Schreiben von Multithread-Anwendungen sind Deadlocks. Meine Fragen an die Community sind: Was ist ein Deadlock? Wie erkennt man sie? Behandeln Sie sie? Und schließlich, wie verhindern Sie, dass sie auftreten?

1
Warum verursacht "while (true)" ohne "Thread.sleep" eine 100% ige CPU-Auslastung unter Linux, jedoch nicht unter Windows?
Ich habe ein einfaches Programm in Java erstellt: public static void main(String[] args) throws InterruptedException { while (true) ; } Wenn ich dies auf einem Linux-Computer ausführe, wird die CPU zu 100% ausgelastet, das Betriebssystem wird jedoch nicht langsam angezeigt. Wenn ich jedoch unter Windows genau denselben Code ausführe, werden …

7
Implementieren Sie das generische C # -Zeitlimit
Ich suche nach guten Ideen für die Implementierung einer generischen Methode, um eine einzelne Zeile (oder einen anonymen Delegaten) von Code mit einer Zeitüberschreitung auszuführen. TemperamentalClass tc = new TemperamentalClass(); tc.DoSomething(); // normally runs in 30 sec. Want to error at 1 min Ich suche nach einer Lösung, die an …


10
Was bedeutet dieser Thread-Join-Code?
Was bedeuten in diesem Code die beiden Verknüpfungen und Unterbrechungen? t1.join()Ursachen t2zu stoppen, bis t1beendet? Thread t1 = new Thread(new EventThread("e1")); t1.start(); Thread t2 = new Thread(new EventThread("e2")); t2.start(); while (true) { try { t1.join(); t2.join(); break; } catch (InterruptedException e) { e.printStackTrace(); } }

5
Ist das Iterieren von ConcurrentHashMap-Werten threadsicher?
In Javadoc für ConcurrentHashMap ist Folgendes: Abrufvorgänge (einschließlich get) werden im Allgemeinen nicht blockiert und können sich daher mit Aktualisierungsvorgängen (einschließlich put und remove) überschneiden. Abrufe spiegeln die Ergebnisse der zuletzt abgeschlossenen Aktualisierungsvorgänge wider, die bei ihrem Beginn ausgeführt wurden. Bei aggregierten Vorgängen wie putAll und clear können gleichzeitige Abfragen …


2
Python-Threading-String-Argumente
Ich habe ein Problem mit dem Python-Threading und dem Senden einer Zeichenfolge in den Argumenten. def processLine(line) : print "hello"; return; . dRecieved = connFile.readline(); processThread = threading.Thread(target=processLine, args=(dRecieved)); processThread.start(); Wobei dRecieved die Zeichenfolge einer Zeile ist, die von einer Verbindung gelesen wird. Es ruft eine einfache Funktion auf, die …




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.