Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

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

      From cppreference.com
      <cpp‎ |thread‎ |packaged task
       
       
      Concurrency support library
      Threads
      (C++11)
      (C++20)
      this_thread namespace
      (C++11)
      (C++11)
      (C++11)
      Cooperative cancellation
      Mutual exclusion
      Generic lock management
      (C++11)
      (C++11)
      (C++11)
      (C++11)
      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 reset();
      (since C++11)

      Resets the state abandoning the results of previous executions. New shared state is constructed.

      Equivalent to*this= packaged_task(std::move(f)), wheref is the stored task.

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      (none)

      [edit]Exceptions

      [edit]Example

      Run this code
      #include <cmath>#include <future>#include <iostream>#include <thread> int main(){std::packaged_task<int(int,int)> task([](int a,int b){returnstd::pow(a, b);});std::future<int> result= task.get_future();    task(2,9);std::cout<<"2^9 = "<< result.get()<<'\n';     task.reset();    result= task.get_future();std::thread task_td(std::move(task),2,10);    task_td.join();std::cout<<"2^10 = "<< result.get()<<'\n';}

      Output:

      2^9 = 5122^10 = 1024
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/thread/packaged_task/reset&oldid=161201"

      [8]ページ先頭

      ©2009-2025 Movatter.jp