std::hash<std::thread::id>
STD::散列<std::线程::id>
Defined in header | | |
---|---|---|
template<> struct hash<std::thread::id>; | | (since 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
二次
另见
hash (C++11) | hash function object (class template) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。