Hi,guys. I write nether program with gnu pth,I find that scheduler of thread can't work well,and last Just ninth thread working.Someone can help me? Very Thanks.
#include <stdlib.h> #include <stdio.h> #include <pth.h> void* ticker(void *s) { int i; for(i=0;;i++) { printf("%s__%i\n",(char*)s,i); pth_usleep(100000); } } int main(int argc,char argv[][]) { pth_attr_t attr[10]; int i; pth_t pth[10]; char str[80]; pth_init(); for(i=0;i<10;i++) { attr[i] = pth_attr_new(); sprintf(str,"ticker %d",i); pth_attr_set(attr[i],PTH_ATTR_NAME,str); pth_attr_set(attr[i],PTH_ATTR_STACK_SIZE,80*1024); pth_attr_set(attr[i],PTH_ATTR_JOINABLE,FALSE); pth[i] = pth_spawn(attr[i],ticker,(void *)str); pth_usleep(100000); } while(1) pth_sleep(1); } /*Result of the program running*/ ticker 0__0 ticker 1__0 ticker 1__1 ticker 2__0 ticker 2__1 ticker 2__2 ticker 3__0 ticker 3__1 ticker 3__2 ticker 3__3 ticker 4__0 ticker 4__1 ticker 4__2 ticker 4__3 ticker 4__4 ticker 5__0 ticker 5__1 ticker 5__2 ticker 5__3 ticker 5__4 ticker 5__5 ticker 6__0 ticker 6__1 ticker 6__2 ticker 6__3 ticker 6__4 ticker 6__5 ticker 6__6 ticker 7__0 ticker 7__1 ticker 7__2 ticker 7__3 ticker 7__4 ticker 7__5 ticker 7__6 ticker 7__7 ticker 8__0 ticker 8__1 ticker 8__2 ticker 8__3 ticker 8__4 ticker 8__5 ticker 8__6 ticker 8__7 ticker 8__8 ticker 9__0 ticker 9__1 ticker 9__2 ticker 9__3 ticker 9__4 ticker 9__5 ticker 9__6 ticker 9__7 ticker 9__8 ticker 9__9 ticker 9__1 ticker 9__2 ticker 9__3 ticker 9__4 ticker 9__5 ticker 9__6 ticker 9__7 ticker 9__8 ticker 9__9 ticker 9__10 -- -------- __@ __@ __@ __@ __~@ ----- _`\<,_ _`\<,_ _`\<,_ _`\<,_ _`\<,_ ---- (*)/ (*) (*)/ (*) (*)/ (*) (*)/ (*) (*)/ (*) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Email [EMAIL PROTECTED] MSN:[EMAIL PROTECTED] ICQ:89646944 ______________________________________________________________________ GNU Portable Threads (Pth) http://www.gnu.org/software/pth/ User Support Mailing List [EMAIL PROTECTED] Automated List Manager (Majordomo) [EMAIL PROTECTED]