Posted By: Quasimodo (Quasimodo) on 'CZprogram'
Title:     pthreads
Date:      Sun Feb  2 17:40:02 2003

Zdar,
 problem je takovyhle: zkousim nejake programovani threadu pod linuxem, coz 
neumim (ani jinde). A podle mych pokusu se neda z jednoho procesu spustit 
vice nez 255 threadu za dobu jeho existence. Ne zaroven, ale za celou dobu co 
pobezi. To se mi zda jako dost absurdni omezeni, tak se ptam, jestli uz nekdo 
na neco takoveho narazil nebo jestli neco dela blbe.
Pracuju s kernelem 2.4.7, 
#/lib/libc.so.6
GNU C Library stable release version 2.2.4, by Roland McGrath et al.
Copyright (C) 1992-1999, 2000, 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 2.96 20000731 (Red Hat Linux 7.1 2.96-97).
Compiled on a Linux 2.4.7-6smp system on 2001-09-04.
Available extensions:
        GNU libio by Per Bothner
        crypt add-on version 2.1 by Michael Glad and others
        The C stubs add-on version 2.1.2.
        linuxthreads-0.9 by Xavier Leroy
        BIND-8.2.3-T5B
        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
        Glibc-2.0 compatibility add-on by Cristian Gafton
        libthread_db work sponsored by Alpha Processor Inc
Report bugs using the `glibcbug' script to <bugs@gnu.org>.

Zdrojak na testovani kolik system unese vypada takhle:
#include <pthread.h>

int Cnt=0;
int NCnt=0;

void *Loop(void *)
{
 Cnt--;
 return 0;
};

int main()
{
 pthread_t pt;
 while(true)
  {
   Cnt++; NCnt++;
   if (pthread_create(&pt, 0, Loop, 0))
    {
     cout << Cnt << "t" << NCnt << "tCHYBA" << endl;
     return(-1);
    };
   cout << Cnt << "t" << NCnt << endl;
  }
};

Je tu jeste zapotrebi nejake info? Myslim, ze by to melo stacit...
Vysledek je stejny nezavisle na kompilatoru - gcc a kylix davaji stejne 
vysledky. Pameti je fura a pthread_create vraci chybu EAGAIN - ostatne podle 
manualovych stranek ani jinou vratit nemuze :-)
 
-
Clovek je nejpomalejsi zname zarizeni typu I/O.
                                                                 Quasimodo

Search the boards