summaryrefslogtreecommitdiff
path: root/c,cc/thread_test.c
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2014-06-15 03:50:12 +0200
committerPatrick Simianer <p@simianer.de>2014-06-15 03:50:12 +0200
commit258e1b92ebbfdebefabc120969ab87c3d8b75c3d (patch)
treeef4ab11fe0bf9d720cea23b35711358a8465feeb /c,cc/thread_test.c
parentcf3a29feb5887344b6633ead1b4b6d5657a15a4b (diff)
old c,cc examples
Diffstat (limited to 'c,cc/thread_test.c')
-rw-r--r--c,cc/thread_test.c43
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;
+}
+