Форум программистов, компьютерный форум, киберфорум
С++ под Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Jesus loves me
Эксперт С++
5162 / 3131 / 353
Регистрация: 12.12.2009
Сообщений: 7,919
Записей в блоге: 2
1

Увеличить возможное количество потоков (thread'ов)

17.02.2012, 16:09. Просмотров 2009. Ответов 2
Метки нет (Все метки)


Привет!
Не могу решить проблему - создаю в программе большое кол-во потоков, при создании 345-го потока pthread_create() возвращает ошибку "Resource temporarily unavailable".
Пробовал смотреть лимит так:
C++
1
2
3
    rlimit rlim;
    getrlimit(RLIMIT_NPROC, &rlim);
    std::cout << rlim.rlim_cur << " ," << rlim.rlim_max << std::endl;
выводит: 31867, 31867

Мне для тестовых измерений нужно увеличить число потоков до нескольких тысяч, но, как писал выше, создается только 344 потока максимум.
Гугл предлагает setrlimit(), но дело в том, что до текущего лимита мне еще далеко, да и этого лимита мне бы вполне хватило.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2012, 16:09
Ответы с готовыми решениями:

Многопоточность, как увеличить число потоков
Вот код, это только пример, но реальный код повторяет его, единственно делегат делает немного...

На прямоугольнике размещено максимально возможное количество квадратов. Найти количество квадратов и площадь незанятой части прямоугольника
1.Даны целые положительные числа A,B,C. На прямоугольнике размером A х B размещено максимально...

Найдите наименьшее возможное количество авиалиний
В 13 регионах нужно построить 25 баз (в каждом регионе хотя бы одну базу) так, чтобы каждые две...

Какое наибольшее возможное количество школьников?
Несколько школьников решали 20 заданий по математике и 11 заданий по экономике. Каждый школьник...

2
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
17.02.2012, 16:54 2
Цитата Сообщение от Kastaneda Посмотреть сообщение
pthread_create() возвращает ошибку "Resource temporarily unavailable".
У линукса так бывает, когда памяти под стек для создаваемой нити не хватает...
Посмотрите лимиты на vm и стек для пользователя (ulimit с ключиками -v и -s)
Или просто попробуйте урезать стек pthread_attr_setstacksize()
1
Jesus loves me
Эксперт С++
5162 / 3131 / 353
Регистрация: 12.12.2009
Сообщений: 7,919
Записей в блоге: 2
17.02.2012, 17:48  [ТС] 3
g_u_e_s_t, спасибо, попробую!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2012, 17:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Какое наибольшее возможное количество студентов?
Нескольким студентам предложили набор из 8 заданий. Каждому дали 3 задания. Ника-кие два студента...

оценить возможное количество участников референдума
3) В референдуме могут участвовать 800000 человек. Среди опрошенных 500 человек (выборка без...

Распределить гири на максимально возможное количество пар
Имеются гири с массами: 1г, 2г,..., N г (N меньше или равно 500000). Написать программу,...

Определите возможное количество способов прочтения строки.
Пожалуйста, помогите с написанием программы на паскале! Пользователь вводит произвольную строку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.