std::hash<std::thread::id>
来自cppreference.com
定义于头文件 <thread>
|
||
template<> struct hash<std::thread::id>; |
(C++11 起) | |
std::hash 对 std::thread::id 类的模板特化允许用户获得线程标识符的哈希。
示例
本节未完成 原因:有意义地使用哈希的示例 |
运行此代码
#include <iostream> #include <thread> #include <chrono> #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(); } }
可能的输出:
thread 139786440144640 hashes to 8905351942358389397 thread 139786431751936 hashes to 9222844670065909738 thread 139786423359232 hashes to 18199000599186780501 thread 139786414966528 hashes to 15386662774029264672
参阅
(C++11) |
散列函数对象 (类模板) |