Articles of Multithreading

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 […]

Was für den Datenaustausch zwischen Threads wird auf einem Core mit HT ausgeführt?

Hyper-Threading- Technologie ist eine Form der simultanen Multithreading-Technologie, die von Intel eingeführt wurde. Diese Ressourcen umfassen die Ausführungsmaschine, die Caches und die Systembusschnittstelle; Durch die gemeinsame Nutzung von Ressourcen können zwei logische processoren effizienter zusammenarbeiten, und ein blockierter logischer processor kann Ressourcen von dem anderen processor ausborgen. In der Intel-CPU mit Hyper-Threading kann ein CPU-Core […]

Wie verwende ich Java Executor richtig?

Ich habe Java-Executoren in meinen Multithreading-Apps verwendet, aber ich kann nicht herausfinden, wann ich die folgenden Methoden am besten nutzen kann: 1. ExecutorService executor=Executors.newFixedThreadPool(50); executor.execute(new A_Runner(… some parameter …)); executor.shutdown(); while (!executor.isTerminated()) { Thread.sleep(100); } 2. int Page_Count=200; ExecutorService executor=Executors.newFixedThreadPool(50); doneSignal=new CountDownLatch(Page_Count); for (int i=0;i<Page_Count;i++) executor.execute(new A_Runner(doneSignal, … some parameter …)); doneSignal.await(); executor.shutdown(); while (!executor.isTerminated()) […]

Eine ausstehende Aufgabe wird synchron auf dem UI-Thread abgebrochen

Manchmal, wenn ich die Stornierung einer ausstehenden Aufgabe mit CancellationTokenSource.Cancel angefordert habe, muss ich sicherstellen, dass die Aufgabe den abgebrochenen Status erreicht hat , bevor ich fortfahren kann. Meistens bin ich mit dieser Situation konfrontiert, wenn die App beendet wird und ich alle ausstehenden Aufgaben ordnungsgemäß abbrechen möchte. Es kann jedoch auch eine Anforderung der […]

Was ist ein Thread-Exit-Code?

Was genau ist ein Thread-Exit-Code im Ausgabefenster während des Debuggens? Welche Informationen gibt es mir? Ist es irgendwie nützlich oder nur ein interner Kram, der mich nicht stören sollte? The thread 0x552c has exited with code 259 (0x103). The thread 0x4440 has exited with code 0 (0x0). Gibt es vielleicht eine Art Liste möglicher Exit-Codes […]