std::hash<std::thread::id>
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <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 << "поток " << t.get_id() << " даёт хэш " << hasher(t.get_id()) << '\n';
t.join();
}
}
Возможный вывод:
поток 139786440144640 даёт хэш 8905351942358389397
поток 139786431751936 даёт хэш 9222844670065909738
поток 139786423359232 даёт хэш 18199000599186780501
поток 139786414966528 даёт хэш 15386662774029264672
Смотрите также
(C++11) |
Объект хеш-функции (шаблон класса) |