C
27
create c
Guest on 24th January 2023 01:59:10 PM
#include <stdio.h>
#include <pthread.h>
#define THREADS 500000
void *
worker(void *arg)
{
sleep(5000);
pthread_exit(NULL);
}
int
main(void)
{
int i, error;
pthread_t *thr;
pthread_attr_t attr;
if ((thr
= malloc(THREADS
* sizeof(pthread_t
))) == NULL
)
err(-1, "malloc");
pthread_attr_init(&attr);
if ((error = pthread_attr_setstacksize(&attr, 2048)) != 0)
errc(-1, error, "setstacksize");
for (i = 0; i < THREADS; i++) {
if (pthread_create(&thr[i], NULL, worker, NULL) != 0)
err(-1, "pthread_create[%d]", i);
}
for (i = 0; i < THREADS; i++) {
if (pthread_join(thr[i], NULL) != 0)
err(-1, "pthread_join[%d]", i);
}
return (0);
}