Articles of Multithreading

Multithread-Rendering auf OpenGL

Ich habe eine Multithread-Anwendung, in der ich versuche, mit verschiedenen Threads zu rendern. Zuerst versuchte ich, den gleichen Rendering-Kontext zwischen allen Threads zu verwenden, aber ich bekam NULL aktuelle Kontexte für andere Threads. Ich habe im Internet gelesen, dass ein Kontext nur jeweils zu einem Thread aktuell sein kann. Also habe ich beschlossen, etwas anderes […]

Warum brauche ich eine Speicherbarriere?

C # 4 in Kurzform (sehr empfehlenswert übrigens) verwendet den folgenden Code, um das Konzept von MemoryBarrier zu demonstrieren (vorausgesetzt, A und B wurden auf verschiedenen Threads ausgeführt): class Foo{ int _answer; bool complete; void A(){ _answer = 123; Thread.MemoryBarrier(); // Barrier 1 _complete = true; Thread.MemoryBarrier(); // Barrier 2 } void B(){ Thread.MemoryBarrier(); // […]

Aktualisieren der GUI (WPF) mit einem anderen Thread

Habe einfach ein Problem hier, dass ich keine Ahnung habe, wie ich das beheben kann. Ich mache ein kleines Projekt mit einer GUI und seriellen Daten. Die GUI wird vom Hauptthread ausgeführt und da die Datenvariablen, die meine eingehenden seriellen Daten enthalten, kontinuierlich aktualisiert werden müssen, werden diese in einem zweiten Thread aktualisiert. Das Problem […]

Threading ignoriert KeyboardInterrupt-Ausnahme

Ich benutze diesen einfachen Code: import threading, time class reqthread ( threading.Thread ): def __init__ (self): threading.Thread.__init__(self) def run ( self ): for i in range(0,10): time.sleep(1) print ‘.’ try: thread=reqthread() thread.start() except (KeyboardInterrupt, SystemExit): print ‘\n! Received keyboard interrupt, quitting threads.\n’ Aber wenn ich es starte, druckt es $ python prova.py ` . . […]

Töte den Thread in der Pthread-Bibliothek

Ich benutze pthread_create(&thread1, &attrs, //… , //…); und brauchen, wenn eine Bedingung aufgetreten ist, diesen Thread zu töten, wie man das tötet?

Alternativen zu Thread.Sleep ()

Alle n Minuten wollen wir eine Liste von Aufgaben durchgehen. Also haben wir einen Task Executor mit einem erstellt do { DoWork(); }while(!stopRequested) Jetzt wollen wir eine Pause zwischen den Arbeitszyklen haben. Jeder scheint zu denken, dass Thread.Sleep () der Teufel ist. Ich habe erwähnt, dass ich Monitor / Event-Sachen benutze, aber wir haben niemanden, […]

Warten auf mehrere Threads in Java abzuschließen

Im Laufe meiner Programmausführung werden mehrere Threads gestartet. Die Anzahl der Threads variiert je nach benutzerdefinierten Einstellungen, aber alle führen dieselbe Methode mit unterschiedlichen Variablen aus. In einigen Situationen ist eine Säuberung während der Ausführung erforderlich, ein Teil davon stoppt alle Threads, ich möchte nicht, dass sie sofort stoppen, ich setze einfach eine Variable, nach […]

Android aktualisiert TextView in Thread und Runnable

Ich möchte einen einfachen Timer in Android machen, der eine TextView jede Sekunde aktualisiert. Es zählt einfach Sekunden wie in Minesweeper. Das Problem ist, wenn ich den tvTime.setText (…) ignoriere (make es / tvTime.setText (…), in LogCat wird die folgende Zahl jede Sekunde gedruckt. Aber wenn ich diese Zahl auf a einstellen möchte TextView (in […]

Sicherstellen, dass OnPropertyChanged () im UI-Thread in der MVVM WPF-App aufgerufen wird

In einer WPF-App, die ich unter Verwendung des MVVM-Musters schreibe, habe ich einen Hintergrundprozess, der das tut, aber Statusupdates von diesem auf die Benutzeroberfläche erhalten muss. Ich verwende das MVVM-Muster, sodass mein ViewModel praktisch nichts über die Ansicht (UI) weiß, die das Modell dem Benutzer präsentiert. Angenommen, ich habe die folgende Methode in meinem ViewModel: […]

Welche std :: async-Implementierungen verwenden Thread-Pools?

Einer der Vorteile der Verwendung von std::async anstatt std::thread Objekte manuell zu erstellen, ist, dass std::async Thread-Pools unter den Covern verwenden kann, um Überzeichnungsprobleme zu vermeiden. Aber welche Implementierungen machen das? Ich verstehe, dass die Implementierung von Microsoft funktioniert, aber was ist mit diesen anderen async Implementierungen? Gnu’s libstdc ++ Gnus libc ++ Nur Software-Bibliothek […]