Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::stop_source::request_stop

      From cppreference.com
      <cpp‎ |thread‎ |stop source
       
       
      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
       
       
      bool request_stop()noexcept;
      (since C++20)

      Issues a stop request to the stop-state, if thestop_source object has a stop-state and it has not yet already had stop requested.

      The determination is made atomically, and if stop was requested, the stop-state is atomically updated to avoid race conditions, such that:

      • stop_requested() andstop_possible() can be concurrently invoked on otherstop_tokens andstop_sources of the same stop-state;
      • request_stop() can be concurrently invoked on otherstop_source objects, and only one will actually perform the stop request.

      However, see the Notes section.

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      true if thestop_source object has a stop-state and this invocation made a stop request, otherwisefalse.

      [edit]Postconditions

      stop_possible() isfalse orstop_requested() istrue.

      [edit]Notes

      If therequest_stop() does issue a stop request (i.e., returnstrue), then anystop_callbacks registered for the same associated stop-state will be invoked synchronously, on the same threadrequest_stop() is issued on. If an invocation of a callback exits via an exception,std::terminate is called.

      If thestop_source object has a stop-state but a stop request has already been made, this function returnsfalse. However there is no guarantee that anotherstop_source object which has just (successfully) requested stop is not still in the middle of invoking astop_callback function.

      If therequest_stop() does issue a stop request (i.e., returnstrue), then all condition variables of base typestd::condition_variable_any registered with an interruptible wait forstop_tokens associated with thestop_source's stop-state will be notified.

      [edit]Example

      This section is incomplete
      Reason: no example
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/thread/stop_source/request_stop&oldid=161265"

      [8]ページ先頭

      ©2009-2025 Movatter.jp