Sunteți pe pagina 1din 4

MINISTERUL EDUCAȚIEI, CULTURII ȘI CERCETĂRII

AL REPUBLICII MOLDOVA
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Informatică şi Ingineria Sistemelor

Grosu Maxim, RM-201

Raport
pentru lucrarea de laborator Nr.1

la cursul de “Programare concurentă și distribuită”

Verificat:
Rotaru Lilia, lector universitar,.
Departamentul Informatică şi IS,
Facultatea FCIM, UTM

Chișinău – 2022
Cuprins
Tema:..................................................................................................................................3

Obiectivele lucrării............................................................................................................3

Condiția problemei............................................................................................................3

Codul programului............................................................................................................3

Imprimarea de pe ecran a execuției programului..........................................................5

Concluzii:............................................................................................................................5

2
Lucrarea de laborator nr. 1
1. Tema lucrării: Gruparea firelor de execuție. Modificarea priorității lor.

2. Scopul lucrării:

 Studierea modificării priorității thread-urlilor în Java;


 Însuşirea metodelor de creare a unui grup de thread-uri;
3. 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.
Condiția problemei
Varianta 4

Creați ostructură, 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.

Codul programului
public class ThreadGroup1 {
public static void main(String[] args) {
ThreadGroup sys = Thread.currentThread().getThreadGroup();
sys.setMaxPriority(Thread.MAX_PRIORITY - 1);
Thread curr = Thread.currentThread();
curr.setPriority(curr.getPriority() + 1);
Thread th1 = new Thread("Th1");
th1.start();
th1.setPriority(3);
Thread th2 = new Thread("Th2");
th2.start();
th2.setPriority(3);
sys.list();
ThreadGroup g1 = new ThreadGroup("G1");
Thread tha = new Thread(g1, "ThA");
tha.start();
tha.setPriority(3);
g1.list();
ThreadGroup g3 = new ThreadGroup(g1, "G3");
Thread thf = new Thread(g3, "ThF");

3
thf.start();
thf.setPriority(3);
Thread thb = new Thread(g3, "ThB");
thb.start();
thb.setPriority(7);
Thread thc = new Thread(g3, "ThC");
thc.start();
thc.setPriority(3);
Thread thd = new Thread(g3, "ThD");
thd.start();
thd.setPriority(3);
g3.list();
ThreadGroup g2 = new ThreadGroup("G2");
Thread th8 = new Thread(g2, "Th8");
th8.start();
th8.setPriority(3);
Thread th9 = new Thread(g2, "Th9");
th9.start();
th9.setPriority(4);
Thread th3 = new Thread(g2, "Th3");
th3.start();
th3.setPriority(3);
g2.list();
}}

Imprimarea de pe ecran a execuției programului

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 aflat cum să grupăm firele de execuție și cum să modificăm
priorității lor în Java. Ne-am însuşit metodele de creare a unui grup de thread-uri.
Am utilizat clasa ThreadGroup pentru crearea grupelor de thread-uri. Am setat
priorităţile threadurilor utilizînd funcția setPriority(….) și funcția list().
4

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