Зависит от того, что делает ваше приложение.
Поток в однопоточном процессе работает быстрее, чем поток в многопоточном процессе, так как последний требует синхронизации между потоками в функциях библиотеки, таких как malloc()
, fprintf()
и т. Д. Также, большепотоки в многопоточном процессе, вероятно, вызовут больше конфликтов блокировки, замедляющих друг друга.Если потоки не нуждаются в обмене данными и не обмениваются данными, они не должны быть в одном процессе.
В вашем случае, вы можете получить лучший параллелизм с 4 процессами с 16 потоками, а не с 1процесс с 64 потоками.