Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
Varianta 10
Țuțuuianu Gheorghe
Sarcina:
Scrieţi un program pentru X (unde X este egal cu numărul variantei plus numărul
subgrupei) scriitori şi Y (unde Y este egal cu numărul variantei înmulţit cu 2 plus numărul
subgrupei) cititori, fiecare scriitor scrie cîte Z (unde Z este egal cu numărul variantei plus 3)
obiecte.
Lisingul programului:
import java.util.*;
this.name=String.valueOf(name);
while(writtenbooks<bookCount){
if (semaphore==0){
semaphore=1;
writtenbooks++; writtenCount.add(String.valueOf
(writtenbooks));
System.out.println(" -->Obiectul este scris " + writtenbooks + " de scriitorul " + name);
if (writtenCount.size()==bookCount){
System.out.println("\n...[Toate obiectele sânt scrise!!!]...\n");
semaphore=0;
try
{sleep(1000);}
catch(InterruptedException e){
}}}
this.stop();
}}
this.name=String.valueOf(name);
if (Writer.semaphore==0)
while (readbooks<Writer.bookCount){
if (readCount.size()==readbooks){
if (stopAll==0){
stopAll=1;
this.stop();
else{
System.out.println(" -->Este citit obiectul " + Writer.writtenCount.elementAt(i) + " de cititorul " + name);
if (readCount.elementAt(i).equals("0")){
readCount.set(i, "1");
readbooks++;
try
{ sleep(500);}
catch(InterruptedException e){
}}}}
this.stop();
}}
Reader.readCount=new Vector<String>();
//iniţializarea tabloului cu 0
//scriitorii
//cititorii
if (i<r.size()) r.elementAt(i).start();
}}}
Rezulatul realizarii:
1 Scriitor
2 Scriitor
3 Scriitor
4 Scriitor
5 Scriitor
6 Scriitor
7 Scriitor
8 Scriitor
9 Scriitor
10 Scriitor
11 Scriitor
1 Cititor
2 Cititor
3 Cititor
4 Cititor
5 Cititor
6 Cititor
7 Cititor
8 Cititor
9 Cititor
10 Cititor
11 Cititor
12 Cititor
13 Cititor
14 Cititor
15 Cititor
16 Cititor
17 Cititor
18 Cititor
19 Cititor
20 Cititor
21 Cititor
-->Obiectul este scris 1 de scriitorul 1
--> Obiecte scrise 1
-->Obiectul este scris 2 de scriitorul 2
--> Obiecte scrise 2
-->Este citit obiectul 1 de cititorul 2
-->Obiectul este scris 3 de scriitorul 3
--> Obiecte scrise 3
-->Este citit obiectul 1 de cititorul 4
-->Obiectul este scris 4 de scriitorul 4
--> Obiecte scrise 4
-->Obiectul este scris 5 de scriitorul 5
--> Obiecte scrise 5
-->Este citit obiectul 1 de cititorul 5
-->Obiectul este scris 6 de scriitorul 6
--> Obiecte scrise 6
-->Este citit obiectul 1 de cititorul 7
-->Obiectul este scris 7 de scriitorul 7
--> Obiecte scrise 7
-->Obiectul este scris 8 de scriitorul 8
--> Obiecte scrise 8
-->Este citit obiectul 1 de cititorul 3
-->Este citit obiectul 1 de cititorul 8
-->Obiectul este scris 9 de scriitorul 9
--> Obiecte scrise 9
-->Obiectul este scris 10 de scriitorul 10
--> Obiecte scrise 10
-->Este citit obiectul 1 de cititorul 10
-->Obiectul este scris 11 de scriitorul 11
--> Obiecte scrise 11
-->Este citit obiectul 1 de cititorul 12
-->Este citit obiectul 1 de cititorul 14
-->Este citit obiectul 1 de cititorul 13
-->Este citit obiectul 1 de cititorul 15
-->Este citit obiectul 1 de cititorul 16
-->Este citit obiectul 1 de cititorul 17
-->Este citit obiectul 1 de cititorul 18
-->Este citit obiectul 1 de cititorul 19
-->Este citit obiectul 1 de cititorul 20
-->Este citit obiectul 1 de cititorul 21
-->Este citit obiectul 2 de cititorul 2
-->Este citit obiectul 2 de cititorul 4
-->Este citit obiectul 2 de cititorul 5
-->Este citit obiectul 2 de cititorul 7
-->Este citit obiectul 2 de cititorul 3
-->Este citit obiectul 2 de cititorul 8
-->Este citit obiectul 2 de cititorul 10
-->Este citit obiectul 2 de cititorul 12
-->Este citit obiectul 2 de cititorul 14
-->Este citit obiectul 2 de cititorul 13
-->Este citit obiectul 2 de cititorul 15
-->Este citit obiectul 2 de cititorul 16
-->Este citit obiectul 2 de cititorul 17
-->Este citit obiectul 2 de cititorul 18
-->Este citit obiectul 2 de cititorul 19
-->Este citit obiectul 2 de cititorul 20
-->Este citit obiectul 2 de cititorul 21
-->Obiectul este scris 12 de scriitorul 1
--> Obiecte scrise 12
-->Obiectul este scris 13 de scriitorul 2
--> Obiecte scrise 13