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





4
Die Referenzzuweisung ist atomar. Warum wird Interlocked.Exchange (ref Object, Object) benötigt?
In meinem Multithread-asmx-Webdienst hatte ich ein Klassenfeld _allData meines eigenen Typs SystemData, das aus wenigen besteht List<T>und Dictionary<T>als markiert ist volatile. Die Systemdaten ( _allData) werden von Zeit zu Zeit aktualisiert, und ich erstelle ein anderes Objekt namens newDataund fülle seine Datenstrukturen mit neuen Daten. Wenn es fertig ist, weise …

5
Wie wähle ich zwischen Semaphore und SemaphoreSlim?
Ihre öffentlichen Schnittstellen sehen ähnlich aus. In der Dokumentation heißt es, dass SemaphoreSlim eine einfache Alternative ist und keine Windows-Kernel-Semaphoren verwendet. Diese Ressource gibt an, dass das SemaphoreSlim viel schneller ist. In welchen Situationen ist das SemaphoreSlim gegenüber dem Semaphore sinnvoller und umgekehrt?

6
Wie skaliere ich Threads nach CPU-Kernen?
Ich möchte ein mathematisches Problem mit mehreren Threads in Java lösen. Mein mathematisches Problem kann in Arbeitseinheiten unterteilt werden, die ich in mehreren Threads gelöst haben möchte. Ich möchte nicht, dass eine feste Anzahl von Threads daran arbeitet, sondern eine Anzahl von Threads, die der Anzahl der CPU-Kerne entspricht. Mein …

9
Was sind die Hauptverwendungen vonield () und wie unterscheidet es sich von join () und interrupt ()?
Ich bin etwas verwirrt über die Verwendung der yield()Methode in Java, insbesondere im folgenden Beispielcode. Ich habe auch gelesen, dassield () verwendet wird, um die Ausführung eines Threads zu verhindern. Meine Fragen sind: Ich glaube, dass der folgende Code sowohl bei Verwendung yield()als auch bei Nichtverwendung zu derselben Ausgabe führt …

9
Wie kann ich Ausnahmen zwischen Threads verbreiten?
Wir haben eine Funktion, die ein einzelner Thread aufruft (wir nennen dies den Haupt-Thread). Innerhalb des Funktionskörpers erzeugen wir mehrere Worker-Threads, um CPU-intensive Arbeit zu leisten, warten, bis alle Threads beendet sind, und geben dann das Ergebnis im Haupt-Thread zurück. Das Ergebnis ist, dass der Aufrufer die Funktion naiv verwenden …



7
Werden Mutexe in Javascript benötigt?
Ich habe diesen Link gesehen: Implementieren des gegenseitigen Ausschlusses in JavaScript . Andererseits habe ich gelesen, dass es in Javascript keine Threads gibt, aber was genau bedeutet das? Wenn Ereignisse auftreten, wo im Code können sie unterbrechen? Und wenn es in JS keine Threads gibt, muss ich in JS Mutexe …

4
Wie kann man den Kinderprozess mit strace verfolgen?
Ich habe mich stracekurz an einen Prozess gebunden. Der Prozess hat 90 Threads erstellt. Als ich den fehlerhaften Thread gefunden habe, musste ich mühsam nach dem übergeordneten Thread suchen, dann nach dem übergeordneten Thread und so weiter bis zum Root-Prozess. Gibt es einen Trick oder ein Werkzeug, um schnell herauszufinden, …

5
Ist Java Regex Thread sicher?
Ich habe eine Funktion, die verwendet Pattern#compileund Matchereine Liste von Zeichenfolgen nach einem Muster durchsucht. Diese Funktion wird in mehreren Threads verwendet. Jeder Thread hat ein eindeutiges Muster, das Pattern#compilebeim Erstellen des Threads übergeben wird. Die Anzahl der Threads und Muster ist dynamisch, was bedeutet, dass ich Patternwährend der Konfiguration …

8
Wie kann eine .NET-Konsolen-App ausgeführt werden?
Stellen Sie sich eine Konsolenanwendung vor, die einige Dienste in einem separaten Thread startet. Sie müssen lediglich warten, bis der Benutzer Strg + C drückt, um das System herunterzufahren. Welcher der folgenden Wege ist der bessere? static ManualResetEvent _quitEvent = new ManualResetEvent(false); static void Main() { Console.CancelKeyPress += (sender, eArgs) …

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.