Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::thread::joinable(3)      C++ Standard Libary     std::thread::joinable(3)

NAME
       std::thread::joinable - std::thread::joinable

Synopsis
	  bool joinable() const	noexcept;  (since C++11)

	  Checks if the	std::thread object identifies an active	thread of exe-
       cution.
	  Specifically,	 returns  true	if get_id() != std::thread::id(). So a
       default
	  constructed thread is	not joinable.

	  A thread that	has finished executing code,  but  has	not  yet  been
       joined is still
	  considered an	active thread of execution and is therefore joinable.

Parameters
	  (none)

Return value
	  true	if the thread object identifies	an active thread of execution,
       false otherwise

Example
       // Run this code

	#include <iostream>
	#include <thread>
	#include <chrono>

	void foo()
	{
	    std::this_thread::sleep_for(std::chrono::seconds(1));
	}

	int main()
	{
	    std::thread	t;
	    std::cout << "before starting, joinable: "	<<  std::boolalpha  <<
       t.joinable()
		      << '\n';

	    t =	std::thread(foo);
	    std::cout << "after	starting, joinable: " << t.joinable()
		      << '\n';

	    t.join();
	    std::cout << "after	joining, joinable: " <<	t.joinable()
		      << '\n';
	}

Output:
	before starting, joinable: false
	after starting,	joinable: true
	after joining, joinable: false

References
	    * C++20 standard (ISO/IEC 14882:2020):

		     * 32.4.2.5	Members	[thread.thread.member]

	    * C++17 standard (ISO/IEC 14882:2017):

		     * 33.3.2.5	thread members [thread.thread.member]

	    * C++14 standard (ISO/IEC 14882:2014):

		     * 30.3.1.5	thread members [thread.thread.member]

	    * C++11 standard (ISO/IEC 14882:2011):

		     * 30.3.1.5	thread members [thread.thread.member]

See also
	  get_id returns the id	of the thread
		 (public member	function)
	  join	 waits for the thread to finish	its execution
		 (public member	function)
	  detach  permits  the thread to execute independently from the	thread
       handle
		 (public member	function)

http://cppreference.com		  2022.07.31	      std::thread::joinable(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::thread::joinable&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help