Articles of Multithreading

Umgehung für das WaitHandle.WaitAll 64-Handle-Limit?

Meine Anwendung erzeugt über ThreadPool.QueueUserWorkItem viele verschiedene kleine Worker-Threads, die ich über mehrere ManualResetEvent Instanzen ManualResetEvent . Ich verwende die WaitHandle.WaitAll Methode, um zu verhindern, dass meine Anwendung schließt, bis diese Threads abgeschlossen sind. Ich hatte jedoch vorher noch nie Probleme, da meine Anwendung mehr belastet wird, dh es werden mehr Threads erstellt. Ich beginne […]

Redis + ActionController :: Live-Threads nicht absterben

Hintergrund: Wir haben eine Chat-function in einer unserer vorhandenen Rails-Anwendungen integriert. Wir verwenden das neue ActionController::Live Modul und führen Puma (mit Nginx in Produktion) aus und abonnieren Nachrichten über Redis. Wir verwenden die EventSource Clientseite, um die Verbindung asynchron herzustellen. Problemzusammenfassung: Threads werden niemals gelöscht, wenn die Verbindung beendet wird. Wenn der Benutzer zum Beispiel […]

Wenn ich zwei Methoden in derselben class synchronisiere, können sie gleichzeitig ausgeführt werden?

Wenn ich zwei Methoden für dieselbe class synchronisiere, können sie 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 methodA() zweimal für dasselbe Objekt in zwei verschiedenen Threads methodA() kann. Gleiche […]

Thread-Konfiguration basierend auf Nr. von CPU-coreen

Szenario: Ich habe eine Beispielanwendung und ich habe 3 verschiedene Systemkonfigurationen – – 2 core processor, 2 GB RAM, 60 GB HHD, – 4 core processor, 4 GB RAM, 80 GB HHD, – 8 core processor, 8 GB RAM, 120 GB HHD Um die H / W-Fähigkeiten für meine Anwendung effektiv zu nutzen, möchte ich […]

Handler, MessageQueue, Looper, laufen sie alle auf dem UI-Thread?

Ich versuche, mich mit Threading zu MessageQueue , und ich weiß, dass ich einen Handler , um Nachrichten / Runnables an die MessageQueue zu MessageQueue , die wiederum vom Looper und zur Verarbeitung an den Handler zurückgesendet wird. Wenn ich in meiner Aktivität einen Handler MessageQueue , werden Activity , Handler , MessageQueue und Looper […]

Was ist der Unterschied zwischen “statischem” und “dynamischem” Zeitplan in OpenMP?

Ich begann mit OpenMP mit C ++ zu arbeiten. Ich habe zwei Fragen: Was ist #pragma omp for schedule ? Was ist der Unterschied zwischen dynamic und static ? Bitte erläutern Sie mit Beispielen.

Wie wähle ich zwischen den verschiedenen Möglichkeiten, in Delphi Threading zu tun?

Es scheint, dass ich endlich eine Art Threading in mein Delphi 2009-Programm implementieren muss. Wenn es nur einen Weg gäbe, würde ich rennen. Aber ich sehe mehrere Möglichkeiten. Kann jemand erklären, was der Unterschied zwischen diesen ist und warum ich einen über anderen wählen würde? Die TThread-class in Delphi AsyncCalls von Andreas Hausladen OmniThreadLibrary von […]

Verständnis von pthread_cond_wait () und pthread_cond_signal ()

Im Allgemeinen werden pthread_cond_wait() und pthread_cond_signal() wie pthread_cond_signal() aufgerufen: //thread 1: pthread_mutex_lock(&mutex); pthread_cond_wait(&cond, &mutex); do_something() pthread_mutex_unlock(&mutex); //thread 2: pthread_mutex_lock(&mutex); pthread_cond_signal(&cond); pthread_mutex_unlock(&mutex); Die Schritte sind pthread_cond_wait(&cond, &mutex); aufgerufen wird, entriegelt den Mutex Thread 2 sperrt den Mutex und ruft pthread_cond_signal() , wodurch der Mutex entsperrt wird In Thread 1 wird pthread_cond_wait() aufgerufen und sperrt den Mutex […]

Die Verwendung von HttpContext.Current in WebApi ist wegen Async gefährlich

Meine Frage ist ein bisschen damit verwandt: WebApi Äquivalent für HttpContext.Items mit Dependency Injection . Wir wollen eine class mit HttpContext.Current im WebApi Bereich mit Ninject injizieren. Meine Sorge ist, das könnte sehr gefährlich sein , da in WebApi ( alles? ) Asynchron ist. Bitte korrigiere mich, wenn ich in diesen Punkten falsch liege, das […]

Warum muss das Sperrobjekt statisch sein?

Es ist sehr üblich, ein privates statisches readonly-Objekt zum Sperren von Multi-Threading zu verwenden. Ich verstehe, dass private die Eintrittspunkte zum Sperrobjekt reduziert, indem die Verkapselung und damit der Zugriff auf das Wesentliche verschärft wird. Aber warum statisch? private static readonly object Locker = new object(); Am Ende wird das Feld nur innerhalb meiner class […]