-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathExample03-non.c
More file actions
38 lines (36 loc) · 820 Bytes
/
Copy pathExample03-non.c
File metadata and controls
38 lines (36 loc) · 820 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//this code will only work with threads
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int main(){
int pid;
pid = fork();
srand(pid);
if(pid < 0){
perror("fork"); exit(1);
}else if(pid){
char* s = "abcdefgh";
int l = strlen(s);
for(int i=0;i<l;++i){
putchar(s[i]);
fflush(stdout);
sleep(rand()%2);
putchar(s[i]);
fflush(stdout);
sleep(rand() % 2);
}
}else{
char *s = "ABCDEFGH";
int l = strlen(s);
for (int i = 0; i < l; ++i)
{
putchar(s[i]);
fflush(stdout);
sleep(rand() % 2);
putchar(s[i]);
fflush(stdout);
sleep(rand() % 2);
}
}
}