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

1894
In C ++ 11 wurde ein standardisiertes Speichermodell eingeführt. Was bedeutet das? Und wie wird sich das auf die C ++ - Programmierung auswirken?

In C ++ 11 wurde ein standardisiertes Speichermodell eingeführt. Was genau bedeutet das? Und wie wird sich das auf die C ++ - Programmierung auswirken? Dieser Artikel (von Gavin Clarke, der Herb Sutter zitiert ) sagt Folgendes: Das Speichermodell bedeutet, dass C ++ - Code jetzt über eine...

1204
Unterschied zwischen wait () und sleep ()

Was ist der Unterschied zwischen a wait()und sleep()in Threads? Verstehe ich, dass sich ein wait()-ing-Thread noch im laufenden Modus befindet und CPU-Zyklen verwendet, ein sleep()-ing jedoch keine korrekten CPU-Zyklen verbraucht? Warum haben wir beide wait() und sleep(): Wie variiert ihre...

704
Wie soll ich Thread-Code testen?

Ich habe bisher den Albtraum vermieden, der Multithread-Code testet, da er einfach wie ein zu großes Minenfeld erscheint. Ich möchte fragen, wie Leute Code getestet haben, der für eine erfolgreiche Ausführung auf Threads basiert, oder wie Leute solche Probleme getestet haben, die nur auftreten,...

670
Volatile vs. Interlocked vs. Lock

Angenommen, eine Klasse verfügt über ein public int counterFeld, auf das mehrere Threads zugreifen. Dies intwird nur erhöht oder verringert. Welcher Ansatz sollte verwendet werden, um dieses Feld zu erhöhen, und warum? lock(this.locker) this.counter++;, Interlocked.Increment(ref this.counter);,...