Ну, вы могли бы начать с определения того, что на самом деле означает ошибка. Согласно это и это (другие ресурсы сообщат вам ту же информацию, это всего лишь пример), число 11 означает EAGAIN
, что, в свою очередь, означает «системе не хватает необходимые ресурсы для создания другого потока или системное ограничение на общее количество потоков в процессе PTHREAD_THREADS_MAX будет превышено. ".
Это соответствует тому факту, что вы пытаетесь создать 20 000 (!) Потоков. Создайте меньше потоков или дождитесь завершения потоков, прежде чем начинать новые.
Обратите внимание, что максимальное количество потоков, которое можно создать, зависит от вашей системы (и, возможно, даже зависит от ряда других настроек). Google для "Как найти PTHREAD_THREADS_MAX", если вам действительно нужно знать.
Однако, если только это не тривиальный пример игры (или, может быть, даже тогда), вы можете захотеть взглянуть на концепцию пулов потоков и очередей .