Documente Academic
Documente Profesional
Documente Cultură
AL REPUBLICII MOLDOVA
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Informatică şi Ingineria Sistemelor
Raport
pentru lucrarea de laborator Nr.3
Verificat:
Rotaru Lilia, lector universitar,.
Departamentul Informatică şi IS,
Facultatea FCIM, UTM
Chișinău – 2022
Cuprins
1. Tema lucrării..................................................................................................................3
2. Scopul lucrării:..............................................................................................................3
3. Etapele de realizare:......................................................................................................3
Condiția problemei............................................................................................................3
Codul programului............................................................................................................3
Concluzii:............................................................................................................................7
2
Lucrarea de laborator nr. 3
2. Scopul lucrării:
Însuşirea modalităţilor de creare a thread-urilor în Java;
3. Etapele de realizare:
1) Utilizarea clasei Thread pentru crearea unei clase noi;
2) Utilizarea interfeţei Runnable pentru crearea şi lansarea thread-urilor;
3) Utilizarea clasei ThreadGroup pentru crearea grupurilor de thread-uri;
4) Setarea priorităţilor thread – urilor utilizînd metoda setPriority(….);
5) Enumerarea thread-urilor şi a priorităţilorlor utilizînd metoda enumerate();
6) Utilizare metodei list();
7) Prezentarea lucrării.
Condiția problemei
Varianta 6
Scrieţi un program care creează patru fire de execuţie. Toate firele vor citi datele din
diapazonul indicat în sarcină. Perechile de thread-uri 1-2 și 3-4 au sarcini commune. Primul fir
Th1 va afişa: Condiţia 1 din tabelul 3, al doilea fir Th2 va afișa Condiția 2 din tabelul 3,al treilea
fir Th3 va afișa Condiția 3 din tabelul 3, al patrulea fir Th4 va afișa Condiția 4 din tabelul 3.
După terminarea tuturor firelor de execuţie thread-ul Th2 va afişa Numele studentului
care a efectuat lucrarea dată de laborator, Th4 va afișa grupa, Th1 va afișa Prenumele
studentului, Th3 va afișa denumirea disciplinii. Literele textului vor apărea pe ecran cu un
interval de 100 milisecunde.
Codul programului
public class Main {
static int size = 160;
static int[] b = new int[size];
static Straight first = new Straight();
3
static Reverse second = new Reverse();
static ReverseInterval third = new ReverseInterval();
static StraightInterval fourth = new StraightInterval();
static int pairone = 0;
static int pairtwo = 0;
}
pairone = b[i] * b[i-2];
pairtwo = b[i-4] * b[i-6];
result = pairone + pairtwo;
System.out.println ("Current value for Thread 2 is: " +
pairone + " + " + pairtwo + " = " + result);
}
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
}
String s = "2:Sultan";
for (int ii = 0; ii < s.length(); ii++) {
System.out.print(s.charAt(ii));
4
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
}
}
System.out.println();
}
}
5
System.out.println("Printing Array: ");
for (int i = 0; i< 150; i++) {
b[i] = (int) Math.round((Math.random() * 100) + 15);
System.out.print (b[i] + " ");
if (i == 50){
System.out.println (b[i] + " ");
}
if (i == 99)
System.out.println(b[i] + " ");
if (i == 149)
System.out.println();
}
first.start();
second.start();
fourth.start();
third.start();
}
}
6
Concluzii:
În rezultatul realizării lucrarii de laborator au fost obținute abilități de lucru cu limbaj de
programare java. Noi am aflat cum putem crea Thread-uri și grupuri de thread-uri. Am utilizat
clasa Thread pentru crearea unei clase noi. Am sincronizat firele de execuție utilizînd metodele
clasei Thread. Am însuşit modalităţile de creare a thread-urilor în Java și am însuşit metodele de
creare a unui grup de thread-uri. Și am rezolvat niște calculele matematice prin thread-uri.