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

Tasks als Datenkanäle

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Task bieten eine höhere Abstraktion an als Threads. Erlauben sie es doch, sich auf die zu erledigende Arbeit zu konzentrieren und den Umgang mit Threads an die C++ Laufzeit abzugeben.
01:57

Transkript

In dieser Lektion möchte ich Ihnen ein relativ neues Konzept in C++ vorstellen, das Konzept von Tasks. Tasks sind Datenkanäle. Das sehen Sie schön hier. Diese Datenkanäle bestehen aus zwei Kommunikations-Endpunkten. Der eine Endpunkt nennt sich Promise. Der andere Endpunkt nennt sich Future. Diese Endpunkte können in gleichen oder in verschiedenen Threads sein. Das entscheidende ist, dass ein Endpunkt, der so genannte Promise, verspricht ein Ergebnis zu produzieren. Er setzt dieses Ergebnis dann in den gemeinsamen Zustand Kanal hinein, und der Future holt das Ergebnis in der Zukunft ab. Der Promise ist der Datensender. Er kann nicht nur einen, er kann auch mehrere Futures bedienen. Und er kann Werte, Ausnahmen und Benachrichtigungen schicken. Jetzt habe ich schon Benachrichtigungen gesagt. Genau das ist der Modus, in dem Promise und Future interagieren können, in dem sie ein idealer Satz für Bedingungsvariablen sind. Nun zum Future. Das ist der Datenempfänger. Und der wartet auf das Ergebnis, das ihm Promise zur Verfügung stellt, indem er den get-Aufruf macht. Und dieser get-Aufruf ist blockierend. Das heißt, wenn der Promise sein Ergebnis noch nicht produziert hat, blockiert der Future. Promise und Future gibt es in drei Geschmacksrichtungen C++11. Mit dem Aufruf std::async, mit den so genannten Package Tasks und der vollen Funktionalität mit dem Pärchen Promise und Future. Bloß unter der Decke, sind das alles die gleichen Konzepte. In dieser Lektion habe ich Ihnen den Überblick gegeben über Promises und Futures, oder auch Tasks, ein relativ neues Konzept in C++11.

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!