diff options
author | Patrick Simianer <p@simianer.de> | 2014-06-15 03:50:12 +0200 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2014-06-15 03:50:12 +0200 |
commit | 258e1b92ebbfdebefabc120969ab87c3d8b75c3d (patch) | |
tree | ef4ab11fe0bf9d720cea23b35711358a8465feeb /c,cc/thread_test.c | |
parent | cf3a29feb5887344b6633ead1b4b6d5657a15a4b (diff) |
old c,cc examples
Diffstat (limited to 'c,cc/thread_test.c')
-rw-r--r-- | c,cc/thread_test.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/c,cc/thread_test.c b/c,cc/thread_test.c new file mode 100644 index 0000000..e1ba9f3 --- /dev/null +++ b/c,cc/thread_test.c @@ -0,0 +1,43 @@ +#include <stdio.h> +#include <pthread.h> +#include <stdlib.h> + + +void saying_pthread_name(void* ptr); +int value=1; + +int +main(void) +{ + pthread_t wthread, bthread, rthread; + char* wname = "white"; + char* bname = "black"; + char* rname = "red"; + pthread_attr_t* pthread_attr_default = NULL; + + pthread_create(&wthread, pthread_attr_default, + (void*)&saying_pthread_name, (void*) wname); + + pthread_create(&bthread, pthread_attr_default, + (void*)&saying_pthread_name, (void*) bname); + + pthread_create(&rthread, pthread_attr_default, + (void*)&saying_pthread_name, (void*) rname); + + pthread_join(wthread,NULL); + //printf("%d\n", value); + pthread_join(rthread,NULL); + pthread_join(bthread,NULL); + + exit(0); +} + +void +saying_pthread_name(void* ptr) +{ + char* message; + message = (char*)ptr; + printf("I am a %s pthread and the value is %d \n", message, value); + value = value+1; +} + |