#include #include #include #include static void *foo(void *arg) { return arg; } int main(int argc, char* argv[]) { size_t n = 1000000; if( argc > 2 ) return 1; if( argc == 2 ) { n = atoi(argv[1]); } printf("%lu\n", n); for (size_t i = 0; i < n; i++) { pthread_attr_t attr; if (pthread_attr_init(&attr) < 0) { return 1; } if (pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED) < 0) { return 1; } pthread_t thread; if (pthread_create(&thread, &attr, foo, NULL) < 0) { return 1; } } pthread_exit(NULL); return 0; }