std::hash<std::thread::id>
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Concurrency support library
(C++11)
(C++20)
(C++11)
(C++11)
(C++20)
(C++26)
(C++26)
(C++20)
(C++26)
(C++20)
(C++26)
(C++26)
(C++26)
(C++26)
(C++26)
(C++26)
(C++11)
(C++11)
(C++17)
(C++11)
(C++14)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++20)(C++20)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++26)
(C++26)
(C++26)
(C++11)
(C++20)
(C++11)
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
(C++11)
(C++11)
(C++11)(deprecated in C++26)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)
(C++26)(C++26)
(C++26)(C++26)
(C++11)
(C++20)(C++20)
(C++20)
(C++20)
(C++11)(C++11)
(C++11)(C++11)
(C++20)(C++20)
(C++20)(C++20)
(C++20)
(C++20)
std::thread::id
Member functions
Non-member functions
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20)
Helper classes
hash<std::thread::id>
(C++23)
Defined in header
<thread>
template<> struct hash<std::thread::id >;
(since C++11)
The template specialization of std::hash for the std::thread::id class allows users to obtain hashes of the identifiers of threads.
[edit] Example
This section is incomplete
Reason: example that uses hash meaningfully
Reason: example that uses hash meaningfully
Run this code
#include <chrono> #include <iostream> #include <thread> #include <vector> using namespace std::chrono_literals; void foo() { std::this_thread::sleep_for (10ms); } int main() { std::vector <std::thread > v; for (int n = 0; n < 4; ++n) v.emplace_back(foo); std::hash <std::thread::id > hasher; for (auto& t : v) { std::cout << "thread " << t.get_id() << " hashes to " << hasher(t.get_id()) << '\n'; t.join(); } }
Possible output:
thread 139786440144640 hashes to 8905351942358389397 thread 139786431751936 hashes to 9222844670065909738 thread 139786423359232 hashes to 18199000599186780501 thread 139786414966528 hashes to 15386662774029264672