Namespaces
Variants

std::packaged_task<R(Args...)>:: operator()

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
void operator ( ) ( ArgTypes... args ) ;
(seit C++11)

Ruft die gespeicherte Aufgabe auf, als ob durch INVOKE<R> ( f, args... ) , wobei f die gespeicherte Aufgabe ist. Der Rückgabewert der Aufgabe oder alle ausgelösten Ausnahmen werden im gemeinsamen Zustand gespeichert. Der gemeinsame Zustand wird bereit gemacht und alle darauf wartenden Threads werden freigegeben.

Inhaltsverzeichnis

Parameter

args - die beim Aufruf der gespeicherten Aufgabe zu übergebenden Parameter

Rückgabewert

(keine)

Exceptions

std::future_error bei den folgenden Fehlerbedingungen:

  • Die gespeicherte Aufgabe wurde bereits aufgerufen. Die Fehlerkategorie ist auf promise_already_satisfied gesetzt.
  • * this hat keinen gemeinsamen Zustand. Die Fehlerkategorie ist auf no_state gesetzt.

Beispiel

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 2142 C++11 ein erfolgreicher Aufruf von operator ( ) synchronisiert mit
einem Aufruf einer beliebigen Memberfunktion eines std::future oder
std::shared_future , die ihren gemeinsamen Zustand mit * this teilen
keine zusätzlichen Synchronisations-
garantien außer denen, die bereits
durch den gemeinsamen Zustand bereitgestellt werden

Siehe auch

Führt die Funktion aus und stellt sicher, dass das Ergebnis erst bereit ist, sobald der aktuelle Thread beendet wird
(öffentliche Mitgliedsfunktion)