Sunteți pe pagina 1din 8

Clasa Thread

Sincronizarea thread-urilor cu yield()


public class SimpleThread1 extends Thread
{
private int countDown = 5;
private static int threadCount = 0;
private int threadNumber = ++threadCount;
public SimpleThread1()
{
System.out.println("Making " + threadNumber); }
public void run()
{
while(true)
{ System.out.println("Thread " + threadNumber + "(" + countDown + ")");
if(--countDown == 0) return;
yield();
}}
public static void main(String[] args)
{
for(int i = 0; i < 5; i++)
new SimpleThread1().start();
System.out.println("All Threads Started");
}}
Sincronizarea thread-urilor cu sleep()
public class SimpleThread extends Thread
{
private int countDown = 5;
private static int threadCount = 0;
private int threadNumber = ++threadCount;
public SimpleThread()
{
System.out.println("Making " + threadNumber); }
public void run()
{
while(true)
{ System.out.println("Thread " + threadNumber + "(" + countDown + ")");
if(--countDown == 0) return;
try{ sleep(100);}
Catch (InterruptedException e)
{
Throw new RuntimeException(e);}
}}
public static void main(String[] args)
{
for(int i = 0; i < 5; i++)
new SimpleThread().start();
System.out.println("All Threads Started");
}}
Metodele clasei Thread
Constructorii
 Crearea unui nou obiect Thread
 public Thread();
 Crearea unui nou obiect Thread cu indicarea obiectului pentru care
va fi activată metoda run().
 public Thread(Runnable target);
 Analogic constructorului precedent, dar se indică ți numele
obiectului Thread
 public Thread(Runnable target, String name);
 Crearea unui nou obiect Thread și se indică numele lui.
 public Thread(String name);
 Crearea unui nou obiect Thread, se indică numele grupului căruia îi
aparâine și obiectul pentru cae va fi activată metoda run().
 public Thread(ThreadGroup group, Runnable target);
 Analogic constructorului precedent, dar se indică ți numele
obiectului Thread
 public Thread(ThreadGroup group, Runnable target, String
name); Crearea unui nou obiect Thread cu indicarea numelui
grupului căruia îi aparâine și numele lui.
 public Thread(ThreadGroup group, String name);
Metodele
 activeCount apreciază numărul de thread-uri active din grupul
căruia îi aparâine
 public static int activeCount();

 currentThread apreciază thread-ul curent activ


 public static Thread currentThread();

 destroy finalifarea forțată a thread-ului


 public void destroy();

 enumerate apreciază toate thread-urile din grupa dată.


 public static int enumerate(Thread tarray[]);

 getName apreciază numele thread-ului.


 public final String getName();

 getPriority apreciază prioritatea curentă a thread-ului


 public final int getPriority();
continuare

 getThreadGroup apreciază grupul căruia îi aparține thread-ul


 public final ThreadGroup getThreadGroup();

 interrupt întrerupe realizarea thread-ului


 public void interrupt();

 Interrupted aptreciază dacă thread-ul este întrerupt


 public static boolean interrupted();

 isAlive apreciază dacă thread-ul se realizează sau nu


 public final boolean isAlive();

 isDaemon apreciază este thread-ul daemon


 public final boolean isDaemon();

 resume restartarea thread-ului temporar oprit


 public final void resume();
continuare
 join așteaptă realizarea complectă a thread-ului sau așteaptă
realizarea thread-ului pe parcursul timpului indicat în milisecunde și
nanosecunde
 public final void join();
 public final void join(long millis);
public final void join(long millis, int nanos);

 run metoda este activată pentru a realiza thread-ul


 public void run();

 setDaemon indică că thread-ul creat va fi daemon


 public final void setDaemon(boolean on);

 setName atribue nume thread-ului


 public final void setName(String name);

 yield oprește temporar thread-ul activ a transmite comanda altui


thread
 public static void yield();
continuarе
 setPriority instalarea priorității
 public final void setPriority(int newPriority);

 sleep ”adormirea” thread-ului pe timpul indicat în milisecunde și


nanosecunde
 public static void sleep(long millis);
 public static void sleep(long millis, int nanos);

 start activarea thread-ului


 public void start();

 stop dezactivarea finală a thread-urilor


 public final void stop();

 suspend dezactivarea temporară a thread-ului


 public final void suspend();

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