Ничего не понимаю. Программлю под NPTL. Имею вот такую программенцию: #include <stdio.h> #include <string.h> #include <pthread.h> #include <unistd.h> void *start(void *d) { printf("thread [%d]\n", (int)d); for(;;) { sleep(10); } return NULL; } int main() { int i, erк; pthread_t t; pthread_attr_t attr; size_t default_stacksize; pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); pthread_attr_setstacksize(&attr, 16 * 1024); for(i=0;;++i) { if((err=pthread_create(&t, &attr, &start, (void*)i)) != 0) { printf("Cannot create thread [%d]: %s\n", i, strerror(err)); break; } } return 1; } Эта программа завершается при попытке создания 3030-го треда с ошибкой EAGAIN (Resource temporarily unavailable). Если запустить ее под рутом, позволяется создать 6050 тредов, а затем - та же ошибка. Спрашивается: как же это так, если утверждатеся, что NPTL позволяет создать тысячи и тысячи тредов? Откуда такие странные ограничения? Что делать, если я хочу больше, чем 3000, скажем, 10000 тредов?
Ответ на:
комментарий
от Dead
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум pthread (2008)
- Форум pthread не заходит в функцию потока (2012)
- Форум pthread (2006)
- Форум pthread: утечка памяти или нормальная работа? (2010)
- Форум Завершение потока: остается занятая память. (2009)
- Форум pthread.h вопрос (2009)
- Форум pthreads - ошибка линковки (2001)
- Форум pthread_create() приводит к Segmentation fault (2004)
- Форум pthread C++ (2004)
- Форум pthread_create и прочий бред. (2004)