c11threads

annotate test.c @ 0:056c9db89e79

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 24 Sep 2012 12:32:42 +0300
parents
children
rev   line source
nuclear@0 1 #include <stdio.h>
nuclear@0 2 #include "c11threads.h"
nuclear@0 3
nuclear@0 4 void tfunc(void *arg);
nuclear@0 5
nuclear@0 6 int main(void)
nuclear@0 7 {
nuclear@0 8 int i;
nuclear@0 9 thrd_t threads[4];
nuclear@0 10
nuclear@0 11 for(i=0; i<4; i++) {
nuclear@0 12 thrd_create(threads + i, tfunc, (void*)(long)i);
nuclear@0 13 }
nuclear@0 14
nuclear@0 15 for(i=0; i<4; i++) {
nuclear@0 16 thrd_join(threads[i], 0);
nuclear@0 17 }
nuclear@0 18
nuclear@0 19 return 0;
nuclear@0 20 }
nuclear@0 21
nuclear@0 22 void tfunc(void *arg)
nuclear@0 23 {
nuclear@0 24 int num = (long)arg;
nuclear@0 25 xtime dur;
nuclear@0 26
nuclear@0 27 printf("hello from thread %d\n", num);
nuclear@0 28
nuclear@0 29 dur.sec = 4;
nuclear@0 30 dur.nsec = 0;
nuclear@0 31 thrd_sleep(&dur);
nuclear@0 32
nuclear@0 33 printf("thread %d done\n", num);
nuclear@0 34 }