Articles of Multithreading

Sind C ++ Lese- und Schreibvorgänge eines int Atomic?

Ich habe zwei Threads, einen update einen int und einen, der es liest. Dies ist ein Statistikwert, bei dem die Reihenfolge der Lese- und Schreibvorgänge nicht relevant ist. Meine Frage ist, muss ich den Zugriff auf diesen Multi-Byte-Wert trotzdem synchronisieren? Oder, anders ausgedrückt, kann ein Teil des Schreibens abgeschlossen sein und unterbrochen werden, und dann […]

Fädeln Sie sichere Multitons in Java ein

Angesichts der folgenden multiton: public class Multiton { private static final Multiton[] instances = new Multiton[…]; private Multiton(…) { //… } public static Multiton getInstance(int which) { if(instances[which] == null) { instances[which] = new Multiton(…); } return instances[which]; } } Wie können wir es thread sicher und faul ohne die teure Synchronisation der Methode getInstance […]

So erstellen Sie Threads in Nodejs

Gibt es eine Möglichkeit, Threads zum Ausführen mehrerer Methoden gleichzeitig zu erstellen. Wenn eine der Methoden fehlschlägt, sollten alle anderen Threads gelöscht werden. Danke im Voraus

Wie man zwei Threads genau zur selben Zeit startet

Die Threads sollten im gleichen Bruchteil einer Sekunde beginnen. Ich verstehe, wenn Sie thread1.start() tun, wird es einige Millisekunden vor der nächsten Ausführung von thread2.start() . Ist es überhaupt möglich oder unmöglich?

Thread.stop () – veraltet

Warum ist Thread.stop() in Java veraltet? Auf ihrer Website sehe ich Folgendes: Warum ist Thread.stop veraltet? Weil es von Natur aus unsicher ist. Durch das Stoppen eines Threads werden alle von ihm gesperrten Monitore entsperrt. (Die Monitore werden entsperrt, wenn die ThreadDeath Ausnahme den Stapel ThreadDeath .) Wenn eines der zuvor von diesen Monitoren geschützten […]

Ist es akzeptabel, Dispose () für ein TPL-Task-Objekt nicht aufzurufen?

Ich möchte eine Aufgabe auslösen, die auf einem Hintergrundthread ausgeführt wird. Ich möchte nicht auf den Abschluss der Aufgaben warten. In .net 3.5 hätte ich das getan: ThreadPool.QueueUserWorkItem(d => { DoSomething(); }); In .net 4 ist die TPL der empfohlene Weg. Das übliche Muster, das ich gesehen habe, ist: Task.Factory.StartNew(() => { DoSomething(); }); Die […]

ThreadStart mit Parametern

Wie startest du einen Thread mit Parametern in C #?

Primzahlen von Eratosthenes schneller sequentiell als gleichzeitig?

Ich schreibe gerade ein Programm, das zuerst durch das Sieb von Eratosthenes nacheinander und dann gleichzeitig Primzahlen erzeugt. Die gleichzeitige Version des Algorithmus soll schneller sein als die sequentielle, aber in meinem Fall ist die gleichzeitige Version ca. 10 mal langsamer. Ich frage mich, wo ich die zusätzliche Arbeit an meinen Threads im Vergleich zum […]

Mutex Beispiel / Tutorial?

Ich bin neu im Multithreading und habe versucht zu verstehen, wie Mutexe funktionieren. Habe viel Googling und ich ein anständiges Tutorial gefunden , aber es hat immer noch einige Zweifel darüber wie es funktioniert, weil ich mein eigenes Programm erstellt habe, in dem Locking nicht funktioniert hat. Eine absolut nicht intuitive Syntax des Mutex ist […]

Wie kann ich warten, bis ein BackgroundWorker abbricht?

Betrachten Sie eine hypothetische Methode eines Objekts, das Sachen für Sie erledigt: public class DoesStuff { BackgroundWorker _worker = new BackgroundWorker(); … public void CancelDoingStuff() { _worker.CancelAsync(); //todo: Figure out a way to wait for BackgroundWorker to be cancelled. } } Wie kann man auf einen BackgroundWorker warten? In der Vergangenheit haben Menschen versucht: while […]