Articles of Multithreading

Was ist der Unterschied zwischen einer synchronisierten Methode und einem synchronisierten Block in Java?

Was ist der Unterschied zwischen einer synchronisierten Methode und einem synchronisierten Block in Java? Ich habe die Antwort im Netz gesucht, die Leute scheinen sich so unsicher zu sein ­čÖü Mein Take w├Ąre, dass es keinen Unterschied zwischen den beiden gibt, au├čer dass der Synchronisationsblock mehr im scope lokalisiert ist und daher die Sperre von […]

Wie man die CPU-Nutzung pro Thread auf Windows (Win32) erhalten

Suchen nach Win32-API-functionen, C ++ – oder Delphi-Beispielcode, der die CPU-Auslastung (Prozent und / oder Gesamt-CPU-Zeit) eines Threads angibt (nicht die Summe f├╝r einen process). Ich habe die Thread-ID. Ich wei├č, dass Sysinternals Process Explorer diese Informationen anzeigen kann, aber ich brauche diese Informationen in meinem Programm.

C #: Warten auf den Abschluss aller Threads

In dem Code, den ich gerade schreibe, sto├če ich auf ein gemeinsames Muster, bei dem ich darauf warten muss, dass alle Threads in einer Gruppe abgeschlossen werden, mit einem Timeout. Das Zeitlimit soll die Zeit sein, die f├╝r die Fertigstellung aller Threads ben├Âtigt wird. Daher kann thread.Join (timeout) f├╝r jeden Thread einfach nicht ausgef├╝hrt werden, […]

AsyncTask.executeOnExecutor () vor API Level 11

Die normale Art, wie wir AsyncTask in Android machen, ist von Android API: private class DoIntenseTask extends AsyncTask { protected Void doInBackground(Object… params) { for (Object param : params) { Object rtnObj = doIntenseJob(param); publishProgress(rtnObj); } return null; } protected void onProgressUpdate(Object… progress) { for (Object rtnObj : progress) { updateActivityUI(rtnObj); } } } Meine […]

Wie w├╝rden Sie Ihre eigene Lese- / Schreibsperre in C ++ 11 implementieren?

Ich habe eine Reihe von Datenstrukturen, die ich mit einem Reader / Writer-Lock sch├╝tzen muss. Ich kenne boost :: shared_lock, aber ich h├Ątte gerne eine benutzerdefinierte Implementierung mit std :: mutex, std :: condition_variable und / oder std :: atomic, so dass ich besser verstehen kann, wie es funktioniert (und zwinge es sp├Ąter) . Jede […]

Warum werden wait () und notify () in der Object-class von Java deklariert?

Warum werden die Methoden wait() und notify() in der Object class und nicht in der Thread class deklariert?

Happens-Before-Beziehungen mit fl├╝chtigen Feldern und synchronisierten Bl├Âcken in Java und deren Auswirkungen auf nicht-fl├╝chtige Variablen?

Ich bin immer noch ziemlich neu im Begriff Threading und versuche mehr dar├╝ber zu verstehen. Vor kurzem stie├č ich auf einen Blog-Beitrag ├╝ber Was Volatile Mittel in Java von Jeremy Manson, wo er schreibt: Wenn ein Thread in eine fl├╝chtige Variable schreibt und ein anderer Thread dieses Schreiben sieht, teilt der erste Thread dem zweiten […]

Doppeltes Checked Locking in Singleton

Hier ist meine benutzerdefinierte class f├╝r Singleton-Muster. In diesem Code verwende ich die doppelte ├ťberpr├╝fung wie unten beschrieben. W├Ąhrend ich viele Beitr├Ąge in einer Quelle lese, sagen sie, dass doppelte ├ťberpr├╝fung n├╝tzlich ist, weil sie verhindert, dass zwei gleichzeitige Threads gleichzeitig zwei verschiedene Objekte erzeugen. public class DoubleCheckLocking { public static class SearchBox { private […]

C # Thread-Beendigung und Thread.Abort ()

In MSDN beschreibt die Beschreibung der Thread.Abort () -Methode: “das Aufrufen dieser Methode beendet normalerweise den Thread”. Warum nicht immer? In welchen F├Ąllen wird der Thread nicht beendet? Gibt es eine andere M├Âglichkeit, Threads zu beenden?

Atom UPDATE .. SELECT in Postgres

Ich baue einen Warteschlangenmechanismus auf. Es gibt Datenzeilen, die verarbeitet werden m├╝ssen, und ein Status-Flag. Ich verwende ein update .. returning Klausel, um es zu verwalten: UPDATE stuff SET computed = ‘working’ WHERE id = (SELECT id from STUFF WHERE computed IS NULL LIMIT 1) RETURNING * Ist das verschachtelte Auswahlteil das gleiche Schloss wie […]