Russian Qt Forum
Май 15, 2024, 20:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Много потоков не дает создать  (Прочитано 4829 раз)
pethead
Гость
« : Ноябрь 18, 2010, 06:33 »

в Windows код работает и дает от процесса 1200 потоков (если верить дисптечеру задач то 1204), в линуксе код сваливается с сообщением
QThread::start: Thread creation error: Ресурс временно недоступен.
если задать стек 1024 то сваливается в
...
557
GLib-ERROR **: Cannot create pipe main loop wake-up: Слишком много открытых файлов
Код:
#include <QtGui>

// ======================================================================
class MyThread : public QThread {
Q_OBJECT
private:
    int m_nValue;

public:
    MyThread() : m_nValue(1000)
    {
    }

    void run()
    {
while (true) {
msleep(m_nValue);
//qDebug() <<  QThread::currentThreadId();

}
    }
};

// ----------------------------------------------------------------------
int main(int argc, char** argv)
{
    QApplication app(argc, argv);

    MyThread     *thread;

    for (int i=0;i<1201;++i){
thread=new MyThread();
   thread->start();
qDebug() << i;
}
 
    return app.exec();
}

#include "main.moc"

Записан
Rcus
Гость
« Ответ #1 : Ноябрь 18, 2010, 07:51 »

/*разворачивает стек вызовов по исходникам*/

QThread::start
QThreadPrivate::start
QThreadPrivate::createEventDispatcher
QEventDispatcherGlib::QEventDispatcherGlib
QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate
g_main_context_new
g_main_context_init_pipe
pipe2 - системный вызов. Создает два дескриптора, ограничивается максимальный количеством открытых дескрипторов (ulimit -n)
Записан
pethead
Гость
« Ответ #2 : Ноябрь 18, 2010, 08:41 »

эээ.... разъясните для колхозников.
ulimit -n не дает увеличить.
Записан
crossly
Гость
« Ответ #3 : Ноябрь 18, 2010, 16:41 »

а на кой болт столько нужно? ?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.081 секунд. Запросов: 20.