Articles of Multithreading

Was ist das Reentry Lock und Konzept im Allgemeinen?

Ich werde immer verwirrt. Würde jemand erklären, was Reentrant in verschiedenen Kontexten bedeutet? Und warum sollten Sie Reentrant vs. Nicht-Reentrant verwenden? Say pthread (posix) Sperrgrundelemente, sind sie einspringend oder nicht? Welche Fallstricke sollten vermieden werden, wenn man sie benutzt? Ist Mutex einspringend?

Wo kann ich Threads in der Android Service-class stoppen / zerstören?

Ich habe einen Thread-Dienst wie folgt erstellt: public class TCPClientService extends Service{ … @Override public void onCreate() { … Measurements = new LinkedList(); enableDataSending(); } @Override public IBinder onBind(Intent intent) { //TODO: Replace with service binding implementation return null; } @Override public void onLowMemory() { Measurements.clear(); super.onLowMemory(); } @Override public void onDestroy() { Measurements.clear(); super.onDestroy(); […]

Wie überprüft man, ob der aktuelle Thread kein Hauptthread ist?

Ich muss überprüfen, ob der Thread, der einen bestimmten Codeabschnitt ausführt, der Hauptthread (UI) ist oder nicht. Wie kann ich das erreichen?

Was bedeutet dieser Thread Join-Code?

Was bedeuten in diesem Code die beiden Punkte? t1.join() bewirkt, dass t2 stoppt, bis t1 beendet wird? Thread t1 = new Thread(new EventThread(“e1”)); t1.start(); Thread t2 = new Thread(new EventThread(“e2”)); t2.start(); while (true) { try { t1.join(); t2.join(); break; } catch (InterruptedException e) { e.printStackTrace(); } }

Was ist der Unterschied zwischen asynchroner Programmierung und Multithreading?

Ich dachte, dass sie im Grunde dasselbe waren – Programme zu schreiben, die Aufgaben zwischen processoren aufteilen (auf Maschinen, die 2+ processoren haben). Dann lese ich https://msdn.microsoft.com/en-us/library/hh191443.aspx , was sagt Async-Methoden sollen nicht blockierende Operationen sein. Ein erwarteter Ausdruck in einer asynchronen Methode blockiert den aktuellen Thread nicht, während die erwartete Aufgabe ausgeführt wird. Stattdessen […]

Wann wird enumerateObjectsUsingBlock vs. für verwendet?

Neben den offensichtlichen Unterschieden: Verwenden Sie enumerateObjectsUsingBlock wenn Sie sowohl den Index als auch das Objekt benötigen Verwenden Sie nicht enumerateObjectsUsingBlock wenn Sie lokale Variablen ändern müssen (ich habe mich geirrt, siehe bbums Antwort) Wird enumerateObjectsUsingBlock generell als besser oder schlechter angesehen, wenn for (id obj in myArray) auch funktionieren würde? Was sind die Vorteile […]

Was wäre besser für gleichzeitige Aufgaben auf node.js? Fasern? Web-Arbeiter? oder Themen?

Ich bin vor einiger Zeit über node.js gestolpert und mag es sehr. Aber bald stellte ich fest, dass es nicht sehr gut war, rechenintensive Aufgaben zu erledigen. Also fing ich an zu googeln und bekam diese Antworten, um das Problem zu lösen: Fasern, Webworker und Threads (thread-a-gogo). Nun, welche zu verwenden ist eine Verwirrung und […]

Wie genau ist Thread.Sleep (TimeSpan)?

Ich bin auf einen Komponententest gestoßen, der zeitweise ausfällt, weil die verstrichene Zeit nicht so ist, wie ich es erwartet habe. Ein Beispiel dafür, wie dieser Test aussieht, ist: Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); TimeSpan oneSecond = new TimeSpan(0, 0, 1); for(int i=0; i<3; i++) { Thread.Sleep(oneSecond); } stopwatch.Stop(); Assert.GreaterOrEqual(stopwatch.ElapsedMilliseconds, 2999); Die meiste Zeit […]

.net beim Absturz wenn loose focus win7

Ich habe ein Dateisuchprogramm in Visual Studio auf Windows 10 mit .net lang, Mein Problem beginnt von form1 mit einem ” dim frm2 as form2 = new form2 ” Aufruf, nachdem das neue Formular angezeigt wird, starte ich eine while-Schleife auf form1, die Feeds Daten in eine Listbox in Form 2: 1) form1 rufen Sie […]

Problem mit mehreren springenden Kugeln

Ich habe ein Programm erstellt, das mehrere springende Bälle mit zufälliger Farbe, Geschwindigkeit und Radius macht. Wenn der Benutzer auf den Bildschirm klickt, sollte ein neuer zufälliger Ball erscheinen und sich um den Bildschirm bewegen. Aber ich habe ein Multithread-Problem. Wenn ich auf den Bildschirm klicke, erscheint ein Ball und bewegt sich überhaupt nicht. Wenn […]