Last change
on this file since 45940 was 1, checked in by vboxsync, 55 years ago |
import
|
-
Property svn:eol-style
set to
native
|
File size:
1019 bytes
|
Line | |
---|
1 | #include <stdlib.h>
|
---|
2 | #include <stdio.h>
|
---|
3 | #include <string.h>
|
---|
4 | #include <signal.h>
|
---|
5 | #include <unistd.h>
|
---|
6 | #include <inttypes.h>
|
---|
7 | #include <pthread.h>
|
---|
8 | #include <sys/wait.h>
|
---|
9 | #include <sched.h>
|
---|
10 |
|
---|
11 | void *thread1_func(void *arg)
|
---|
12 | {
|
---|
13 | int i;
|
---|
14 | char buf[512];
|
---|
15 |
|
---|
16 | for(i=0;i<10;i++) {
|
---|
17 | snprintf(buf, sizeof(buf), "thread1: %d %s\n", i, (char *)arg);
|
---|
18 | write(1, buf, strlen(buf));
|
---|
19 | usleep(100 * 1000);
|
---|
20 | }
|
---|
21 | return NULL;
|
---|
22 | }
|
---|
23 |
|
---|
24 | void *thread2_func(void *arg)
|
---|
25 | {
|
---|
26 | int i;
|
---|
27 | char buf[512];
|
---|
28 | for(i=0;i<20;i++) {
|
---|
29 | snprintf(buf, sizeof(buf), "thread2: %d %s\n", i, (char *)arg);
|
---|
30 | write(1, buf, strlen(buf));
|
---|
31 | usleep(150 * 1000);
|
---|
32 | }
|
---|
33 | return NULL;
|
---|
34 | }
|
---|
35 |
|
---|
36 | void test_pthread(void)
|
---|
37 | {
|
---|
38 | pthread_t tid1, tid2;
|
---|
39 |
|
---|
40 | pthread_create(&tid1, NULL, thread1_func, "hello1");
|
---|
41 | pthread_create(&tid2, NULL, thread2_func, "hello2");
|
---|
42 | pthread_join(tid1, NULL);
|
---|
43 | pthread_join(tid2, NULL);
|
---|
44 | printf("End of pthread test.\n");
|
---|
45 | }
|
---|
46 |
|
---|
47 | int main(int argc, char **argv)
|
---|
48 | {
|
---|
49 | test_pthread();
|
---|
50 | return 0;
|
---|
51 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.