Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

C++: Multithreading

Aufgaben zu Mutexen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Zwei Aufgabestellungen und eine Reihe von Link-Empfehlungen mit weiterführenden Informationen zu Mutexen erwarten Sie in diesem Film.
02:01

Transkript

Nun geht es weiter mit den Aufgaben und weiteren Informationen rundum den Mutexe. Ich habe zwei Aufgaben, eine führe ich vor und ein paar weitere Informationen. Die erste Aufgabe, Sie kennen das Programm Mutex.cpp, das habe ich vorgeführt, spielen Sie doch ein bisschen damit rum, füllen Sie es aus ohne "std: :cout" zu synchronisieren und schauen Sie mal, welche Ausgaben Sie erhalten. Wieso sage ich das? Das ist nämlich durchaus möglich, dass wenn Sie nicht schnellere Plattform haben, wie ich oder mehr Cores haben wie ich, ich habe nur zwei, dass Sie eine ganz andere Art der Verschränkung der Ausgabekanäle erhalten, als ich. Ne, eben viel wildere. Die zweite Aufgabe, die ich dann vorführe ist, wenn Sie ein Mutex mehrmals locken, wohlgemerkt das ist kein rekursiver Mutex, dann ist das undefiniertes Verhalten. Mich interessiert vor allem, was kommt auf Ihre Plattform raus? Das ändert sich nämlich je nachdem, welche zum Beispiel GCC oder Microsoft Visual C++ Compiler Sie besitzen oder welchen Clang Compiler Sie verwenden. Hier habe ich noch ein paar Links hinterlegt, rundum Mutexe, Timed_Mutex, Recursive_Mutex, Recursive_Timed_Mutex und Shared_Mutex, der Mutex [unverständlich] mit C++ 14. So, dann komm ich schon zu Aufgabe. Das ist vermutlich, die kürzeste Aufgabe, die ich gestellt habe. Sie sehen ich habe hier ein Mutex, simple Mutex und ich locke zweimal. Das Programmverhalten ist undefiniert. Es ist die frage, was bedeutet "undefiniert" auf meiner Plattform? Führe ich das Programm aus, sehen Sie, in diesem Fall, blockiert mein Programm. Das Programm lockt und versucht nochmals zu locken und ich habe so was wie ein Deadlock. Das muss aber nicht sein. Mit modernen Compilern, ich verwende grade den GCC49, habe ich öfters gesehen, dass ich durch dieses kleine Programmchen ein Programmabsturz provozieren konnte.

C++: Multithreading

Lernen Sie die High-Level Threading-Schnittstelle in C++ kennenb und nutzen, die Sie in Form von Threads, Tasks, Locks und Bedingungsvariablen zur Anwendung bringen.

2 Std. 40 min (39 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:16.08.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!