Да, они могут. В большинстве операционных систем, о которых я знаю, и, конечно, под Windows и Linux, нет ничего, что говорило бы о том, что одновременно может работать только один из потоков процесса. На самом деле планировщик Windows уделяет очень мало внимания «из какого процесса возник поток?»"в принятии своих решений. В системе с n ядрами n потоков могут работать буквально одновременно. Не имеет значения, все ли они из одного процесса, из четырех разных процессов или из любой комбинации.
Для Windows вы можете легко продемонстрировать это с помощью приложения "cpustres". Вы можете найти это в "Книжных инструментах Windows Internals", пакете, распространяемом Марком Руссиновичем на сайте инструментов sysinternals. Сделайте вашу систему настолько тихой, насколько это возможно, затем используйте cpustres для создания двух потоков и установите их "уровень активности" на максимум. Затем проверьте графики времени вашего процессора в диспетчере задач. Или используйте Process Explorer, чтобы следить за временем процессора двух потоков.
Книга Windows Internals содержит полную информацию о том, как работает планировщик (а не "планировщик задач", планировщик потоков). Это долго читать, но оно того стоит. Последняя версия этой книги охватывает Windows 7, но с тех пор в этой области не произошло каких-либо значительных изменений.