Как узнать сколько процессов максимально можно запустить на ПК?
Разрабатываю программу для перевода файлов при помощи Google translate API. Она должна взять все файлы из папки одной игры и русифицировать. Файлов много, поэтому программа работает долго. Хочу попробовать раскидать все файлы по процессам, но боюсь, что если запустить эту программу на слабых ПК, она просто положит компьютер. Есть ли какой то способ сделать "умную" мултипроцессорность, что бы программа сама решала, сколько процессов запустить в зависимости от железа?
HartX, Every thread is given some specific amount of stack-size to execute (heap is shared by threads of same process, so that is not a constraint). That stack-size per thread is configurable and the default is different in different systems. The default stack-size per thread varies from 1 MB to 8 MB. If the machine on which the threads are running is a 32-bit machine, then it can access a memory space of 2^31=2GB.
So, the maximum no of threads which can be created = 2GB/8MB ~ 256 threads.
If you try to create more threads than this, then out-of-memory error will occur.