Pliki_SOP/zajecia7/zad2.lst

41 lines
1.1 KiB
Plaintext
Raw Normal View History

2018-12-05 18:09:07 +01:00
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad2.cm Mon Nov 26 16:53:03 2018
line pc
1 0 const int N = 5;
2 0 binarysem forks[N];
3 0 binarysem print_sem;
4 0 semaphore s;
5 0
6 0 void phil(int id)
7 0 {
8 0 int i;
9 0 for(i = 0; i < 1000; i++){
10 14 //wait(s);
11 14 wait(print_sem);
12 16 cout << "Jestem filozofem o numerze "<<id<<" i mysle" <<endl;
13 21 signal(print_sem);
14 23
15 23 wait(forks[id]);
16 27 wait(forks[(id+1)%N]);
17 35
18 35 wait(print_sem);
19 37 cout << "Jestem filozofem o numerze " <<id<<" i jem po raz " <<i+1<<endl;
20 46 signal(print_sem);
21 48
22 48 signal(forks[id]);
23 52 signal(forks[(id+1)%N]);
24 60 //signal(s);
25 60 }
26 61 }
27 62
28 62 main(){
29 63 int i;
30 63 for(i=0; i<N; i++)
31 77 initialsem(forks[i], 1);
32 83 initialsem(print_sem, 1);
33 86 //initialsem(s, 4);
34 86 cobegin{
35 87 phil(0); phil(1); phil(2); phil(3); phil(4);
36 107 }
37 108 }