Multithreading
-
Morgen,
ich wollte mal nach fragen ob jemand ein gutes einfaches Tutorial über Mutithreading kennt, möglicher weise vielleicht auch mit Synchronisierung.
Danke für jede Antwort.
-
Hallo,
das ist Plattformabhaengig, welches OS verwendest du?
mfg
v R
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
NoQ schrieb:
Morgen,
ich wollte mal nach fragen ob jemand ein gutes einfaches Tutorial über Mutithreading kennt, möglicher weise vielleicht auch mit Synchronisierung.
Danke für jede Antwort.
Tutorial nicht, aber dieses Buch hier http://www.c-plusplus.net/titelanzeige.php?ISBN=3826609891 deckt so ziemlich alle Wünsche ab. Zwar für Win, aber wer sich unter Linux und Windows auskennt, kann viele Dinge auch übertragen.
-
http://www.cs.wustl.edu/~schmidt/ACE.html
http://www.boost.org/libs/thread/doc/index.html
http://www.gnu.org/software/commoncpp/
...
-
@kingruedi: Deine Links würde ich aber nicht gerade als Tutorials bezeichnen... das ist doch nur Doku für APIs.
Wie man aber ein Programm multithreadinggerecht zerlegt, wann man lockt, wie man lockt... warum man z.B. besser mit Objekten lockt, wie man periodische Threads baut, etc, das finde ich da nirgendwo. Es gibt zwar im C++ User's Journal einige gute Artikel zum Thema, aber keine geschlossene Darstellung.
Und da der Standard leider keine Threads kennt, ignorieren auch die Herren Sutter & Co in ihren Kolumnen diese Thematik hartnäckig. Schade eigentlich, da das Thema Multithreading immer wichtiger wird, aber selbst die Implementierung eines multithreading-fähigen Containers ist bereits eine Wissenschaft für sich. Da wäre mehr Material sicherlich hilfreich.
-
Marc++us schrieb:
selbst die Implementierung eines multithreading-fähigen Containers ist bereits eine Wissenschaft für sich. Da wäre mehr Material sicherlich hilfreich.
Ist 'man' sich nicht einig, dass man Threadsicherheit nicht auf Containerniveau realisieren sollte?
-
Unter dem Container verstehe ich die Datenstruktur, das Interface, sowie die darin befindlichen Objekte. Und ich will auf diese Einheit von mehreren Threads aus zugreifen können. Natürlich mit minimaler Lockingzeit für die jeweiligen Zugriffe und Vermeidung größerer Lock-Cluster. Möglichst vielleicht auch noch ein Locking, das mehrere Read-Locks erlaubt, aber nur einen Write-Lock. Das fällt bei mir alles unter den Begriff "multithreading-fähiger Container", d.h. das umfasst auch darin befindliche Objekte.
Keine Ahnung wie "man" das nennt, aber ich finde sowas recht praktisch in einem Programm.
-
Marc++us schrieb:
Das fällt bei mir alles unter den Begriff "multithreading-fähiger Container", d.h. das umfasst auch darin befindliche Objekte.
Dann habe ich nur von etwas anderem gesprochen.
-
@Marc++us
jo, aber zB. für ACE finden sich ja auch Links, zu Büchern, die das arbeiten mit ACE Threads beschreiben, da werden sicher auch die Grundlagen beschrieben.