Вы действительно не знаете.
С одной стороны, стандарт C ++ 03 не знает ничего о потоках, ядрах или подобных вещах. Так или иначе, это все зависит от платформы.
Но даже с точки зрения платформы вы часто все еще не знаете. Операционная система планирует потоки и задания. Операционная система может - или не может - дать вам возможность указать « сходство процессоров » для конкретного потока, но обычно для этого требуется перескок через прыжок.
Одна из вещей, о которых вы также должны помнить, заключается в том, что если ваша цель состоит в том, чтобы каждое ядро использовалось на 100%, вам часто потребуется более n потоков (где n - количество ядер). Потоки тратят много времени на сон, ожидание на диске и вообще ничего не делают на ядре . Точное количество потоков, которое вам понадобится, зависит от вашего реального приложения и платформы, но эксперименты могут помочь вам в этом.