Namespaces
Variants

std::jthread:: hardware_concurrency

From es.cppreference.net

Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
static unsigned int hardware_concurrency ( ) noexcept ;
(desde C++20)

Devuelve el número de hilos concurrentes admitidos por la implementación. El valor debe considerarse solo como una sugerencia.

Contenidos

Parámetros

(ninguno)

Valor de retorno

Número de hilos concurrentes soportados. Si el valor no está bien definido o no es calculable, retorna ​ 0 ​ .

Ejemplo

#include <iostream>
#include <thread>
int main()
{
    unsigned int n = std::jthread::hardware_concurrency();
    std::cout << n << " concurrent threads are supported.\n";
}

Salida posible:

4 concurrent threads are supported.

Véase también

desplazamiento mínimo para evitar falso sharing
desplazamiento máximo para promover true sharing
(constante)