Documente Academic
Documente Profesional
Documente Cultură
{ {
int id; //fiecare thread va avea numar propriu int id; //fiecare thread va avea numar propriu
public void run() //metoda principala a firului (analog public void run() //metoda principala a firului (analog
{ // metodei main pentru fir de executie) { // metodei main pentru fir de executie)
System.out.println(“Thread nr ”+ id); System.out.println(“Thread nr ”+ id);
} }
} }
class Main
{
public static void main(String a[])
{
///////////////////////////////// crearea si lansarea firului de tip Thread ///////////////////////////////////////////////////////
///////////////////////////////// analog creerii si lansarii firului de tip Thread, utilizand noname object ////////////////////////
(new testThread()).start();
tempThread.start(); //acest obiect poate fi lansat deoarece clasa Thread are metoda start.
///////////////////////////////// analog creerii si lansarii firului de tip Runnable, utilizand noname object ////////////////////////
(new Thread (new testRunnable())).start();
}
}
Exemplu pentru lab5
Formularea conditiei: Se da o matrice de tip int. De separate matricia pe randuri, fiecare rand se prelucreaza de fir de
executie propriu. Fiecare fir calculeaza suma elementelor in rand propriu. In metoda main de afisat suma rezultatelor
firelor, deci suma tuturor elementelor matriciei. De mostenit clasa de la Thread.
Import java.util.*;
class A
{
static int A[][];
static int rinduri, coloane, sumaGlobala;
int idPropriuFirului;
static{
rinduri = (new Random()).nextInt(10)+1;
coloane = (new Random()).nextInt(10)+1;
A = new int[rinduri][coloane]
for( int r = 0; r < rinduri; r ++)
for( int c = 0; c < coloane; c ++)
A[r][c] = (new Random()).nextInt(20) - 10;
sumaGlobala = 0;
}
void afisareaMatriciei()
{
for( int r = 0; r < rinduri; r ++)
{
for( int c = 0; c < coloane; c ++)
System.out.print(“ “+A[r][c]);
System.out.println();
}
}
A(int x)
{
idPropriuFirului = x;
}