Articles of Multithreading

Wann sollte der Thread-Pool in C # verwendet werden?

Ich habe versucht, Multithreading-Programmierung in C # zu lernen, und ich bin verwirrt, wenn es am besten ist, einen Thread-Pool zu verwenden oder meine eigenen Threads zu erstellen. Ein Buch empfiehlt, einen Thread-Pool nur für kleine Aufgaben zu verwenden (was auch immer das bedeutet), aber ich kann keine wirklichen Richtlinien finden. Was sind einige Überlegungen, […]

Welche Ressourcen werden zwischen Threads geteilt?

Kürzlich wurde mir in einem Interview eine Frage gestellt, was der Unterschied zwischen einem process und einem Thread ist. Wirklich, ich kannte die Antwort nicht. Ich dachte eine Minute nach und gab eine sehr seltsame Antwort. Threads teilen sich den gleichen Speicher, processe nicht. Nachdem ich das beantwortet hatte, schenkte mir der Interviewer ein böses […]

Executors.newCachedThreadPool () versus Executors.newFixedThreadPool ()

newCachedThreadPool() versus newFixedThreadPool() Wann sollte ich das eine oder andere benutzen? Welche Strategie ist besser in Bezug auf die Ressourcennutzung?

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