Да, 20 потоков могут определенно записывать на диск быстрее, чем 4 потока на 4-процессорной машине. Многие реальные программы связаны с вводом / выводом больше, чем с процессором. Тем не менее, это очень подробно зависит от ваших дисков и от того, сколько ЦП работает с другими вашими потоками, прежде чем они тоже будут ждать этих дисков.
Если все ваши потоки пишут исключительно на диск и больше ничего не делают, то вполне возможно, что 1 поток на 4-процессорной машине - это самый быстрый способ записи на диск. Это полностью зависит от того, сколько дисков у вас есть, сколько данных вы пишете и насколько хороша ваша ОС при планировании ввода / вывода. Ваш конкретный вопрос предполагает, что вы хотите, чтобы 4 темы записывали в один файл. Это не имеет большого смысла, и в любом практическом сценарии я не могу думать, как это было бы быстрее. (Вам нужно было бы выделить файл заранее, тогда каждый поток будет искать () в другой позиции, и вы в итоге просто перебиваете головку записи, когда каждый поток пытается записать несколько блоков.)
Преимущество многопоточности намного проще, когда вы подключены к сети. То есть: ожидание на сервере базы данных, или веб-браузер, или тому подобное. Там вас ждут несколько внешних ресурсов.