Скажем, у меня была программа на С#, которая делала что-то дорогостоящее вычислительное, например, кодирование списка WAV файлов в MP3. Обычно я кодировал файлы по одному, но, допустим, я хотел, чтобы программа выяснила, сколько ядер ядра у меня было, и закручиваем поток кодирования на каждом ядре. Итак, когда я запускаю программу на четырехъядерном процессоре, программа вычисляет ее четырехъядерный процессор, и есть четыре ядра для работы, а затем порождает четыре потока для кодирования, каждый из которых запускается самостоятельно ЦПУ. Как мне это сделать?
И будет ли это иначе, если бы ядра были распределены по нескольким физическим процессорам? Как и в случае, если у меня была машина с двумя четырёхъядерными процессорами на ней, есть ли какие-либо особые соображения или восемь ядер на двух матрицах считаются равными в Windows?