Documente Academic
Documente Profesional
Documente Cultură
Raport
Lucrarea de laborator nr.1
Disciplina: Programare concurentă și distribuită
D.Nepiivoda
A verificat L. Rotaru
Chișinău - 2020
● Tema lucrării: Crearea thread-urilor
● Scopul lucrării: Însuşirea modalităţilor de creare a thread-urlilor în Java;
● Etapele de realizare:
● Utilizare clasei Threadpentru crearea unei clase noi;
● Utilizarea interfeţei Runnable pentru crearea şi lansarea de thread-uri;
● Prezentarea lucrării.
Sarcina:
Scrieţi un program care creează doua fire de execuţie. Ambele fire vor citi datele din acelaşi tablou de date
mas[] de tipul int, generat aleatoriu cu dimensiunea 100 şi ce cuprinde valori intre 1 şi 100. Primul fir Th1 va
afişa: Condiţie 1 din tabelul 1. Al doilea fir Th2 va afişa: Condiţie 2 din tabelul 1. Apoi după terminarea
ambelor fire de execuţie thread-ul principal va afişa informaţia despre studentul care a efectuat lucrarea dată
de laborator, literele textului vor apărea pe ecran cu un interval de 100 milisecunde.
VAR 3
Sumele numerelor pare două cate două Sumele numerelor pare două cate două începând
începând căutarea şi sumarea de la primul căutarea şi sumarea de la ultimul element
element
Codul programului:
package com.company;
import java.util.logging.Logger;
@Override
public void run() {
int i, S, c;
int d = 0;
int sum = 0;
int flag = 0;
S = 0;
c = 0;
i = from;
System.out.println();
while (i != to) {
if (T[i] % 2 == 0) {
c++;
S = S + T[i];
if (c % 2 == 0) {
sum = sum + S;
flag++;
System.out.println("Suma = " + S + "- Numele firului -" +
this.getName());
S = 0;
if (flag % 2 == 0) {
System.out.println("Suma a doua fire = " + sum);
sum = 0;
}
}
}
i = i + step;
}
}
cnt1.start();
cnt2.start();
{
System.out.print(str.charAt(i) );
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
Logger.getLogger(Counter.class.getName());
}
}
}
}
Rezultatul:
68 11 31 89 64 63 91 4 49 84 52 2 0 24 63 63 30 72 64 80 23 2 12 25 17 24 80 25 16 97
90 11 49 28 52 28 75 71 10 32 41 61 60 33 54 42 90 65 65 91 20 35 91 30 44 96 77 7 73
10 21 87 73 25 69 24 0 22 95 30 37 2 17 92 71 45 54 55 6 48 46 10 30 3 23 17 17 53 32
19 71 18 32 76 6 84 26 18 59 4 87 65 67 38 45 48 91 70 22 33 74 99 92 15 21 96 25 50
60 24 84 54 71 9 26 94 37 36 97 74 19 76 59 46 15 8 71 1 31 78 71 75 34 72 29 36 71 49
23 76 32 82 88 92 19 70 94 96 9 12 92 61 70 74 16 74 52 73 76 43 97 3 67 61 47 80 41
30 6 99 20 7 84 93 17 26 12 43 20 30 19 40 21 45 6 63 36 4 74 55 48 33 9 87 8 24 69 23
63 77 25 92 91 49 30 7 55 21 29 89 69 15 6 82 93 4 66 51 68 82 90 29 96 67 45 55 30 50
45 42 87 10 47 6 95 58 52 54 13 3 88 71 8 59 51 97 42 65 96 28 64 18 37 43 70 72 8 10
45 0 29 88 99 66 91 9 11 20 26 85 72 58 26 63 52 88 18 30 72 68 34 32 21 75 19 61 20
30 21 55 89 59 34 26 37 62 69 35 1 52 76 22 45 72 6 84 35 14 11 22 27 56 24 41 67 85
75 33 74 19 42 41 13 9 0 57 80 97 13 85 5 39 53 40 75 84 42 59 0 17 57 48 96 92 51 91
52 94 66 90 40 87 9 38 85 31 92 72 54 79 27 60 44 80 31 78 45 73 62 3 22 55 14 83 29
92 1 10 82 29 89 57 40 43 8 33 24 23 21 24 72 76 55 12 69 77 42 64 26 62 85 30 54 5 5
83 89 96 55 90 65 88 21 6 58 85 65 52 56 52 88 31 88 95 86 19 15 30 24 75 37 56 25 88
90 18 78 7 21 50 92 76 89 60 82 17 23 36 67 3 97 26 58 96 90 77 78 95 96 75 0 20 40 93
24 17 69 10 90 44 55 27 31 79 21 67 24 74 10 22 1 56 60 97 55 63 3 35 1 12
Bibliografie:
• https://docs.oracle.com/javase/tutorial/
• Cursul de PCD