Sunteți pe pagina 1din 5

Ministerul Educației al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software şi Automatică

Raport
Lucrarea de laborator nr.2
Disciplina: Programare concurentă și distribuită

A efectuat: st. gr. CR-182:


O. Bonari

A verificat L. Rotaru
Chișinău - 2020

● Tema lucrării:
Gruparea firelor de execuție. Modificarea priorității lor.
● Scopul lucrării:
1. Studierea modificării priorității thread-urlilor în Java;
2. Însuşirea metodelor de creare a unui grup de thread-uri;

● Etapele de realizare:
1. Utilizarea clasei ThreadGroup pentru crearea grupelor de thread-uri;
2. Setarea priorităţilor threadurilor utilizînd funcția setPriority(….);
3. Utilizare funcției list();
4. Prezentarea lucrării

Sarcina:
Creați o structură, conform formulei date în tabelul 2, conform variantei. Enumerați toate firele de execuţie din grupa
principală şi subgrupele ce le conţine. Afişați informaţia despre numele firului de execuţie, numele grupei din care face
parte, și prioritatea sa. Prioritatea fiecărui
Thread este indicată în paranteze () pentru fieacare fir de execuție (vezi tabelul 2).
Main{G2{G1{Tha(1), Thb(3), Thc(8), Thd(3)}, ThA(1)},G3{Th1(4), Th2(3), Th3(5)},Th1(3), Th2(6)}
Codul programului:

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package threadgroup1;

/**
*
* @author PCPC
*/
public class ThreadGroup1 {

public static void main(String[] args)


{
ThreadGroup sys =
Thread.currentThread().getThreadGroup();

ThreadGroup g2 = new ThreadGroup("G2");


ThreadGroup g1 = new ThreadGroup(g2, "G1");
ThreadGroup g3 = new ThreadGroup("G3");

Thread thread = new Thread(g1, "Tha");


thread.setPriority(1);
thread.start();

thread = new Thread(g1, "Thb");


thread.setPriority(3);
thread.start();

thread = new Thread(g1, "Thc");


thread.setPriority(8);
thread.start();

thread = new Thread(g1, "Thd");


thread.setPriority(3);
thread.start();

thread = new Thread(g2, "ThA");


thread.setPriority(1);
thread.start();

thread = new Thread(g3, "Th1");


thread.setPriority(4);
thread.start();

thread = new Thread(g3, "Th2");


thread.setPriority(3);
thread.start();

thread = new Thread(g3, "Th3");


thread.setPriority(5);
thread.start();
g3.list();
g1.list();

thread = new Thread("Th1");


thread.setPriority(3);
thread.start();

thread = new Thread("Th2");


thread.setPriority(6);
thread.start();
sys.list();

}
}
Concluzie:
În cadrul acestei lucrări de laborator am studiat principiile de creare thread-urilor si gruparea lor in
limbajul de programare Java. Am creat mai multe thread-uri si grupuri, fiecare avand prioritatea si numele sau.
Deci in Java putem face un management la threaduri destul de flexibil.

S-ar putea să vă placă și