Fire de Executie in Java

Curs
9/10 (4 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 4 în total
Cuvinte : 605
Mărime: 6.98KB (arhivat)
Cost: Gratis

Extras din document

2.2 Creearea firelor de executie prin implementarea interfetei Runnable

import java.applet.* ;

import java.awt.* ;

public class TestThread extends Applet implements Runnable {

Thread mainThread ;

CntThread thread1, thread2;

public void start() {

if (mainThread == null) {

mainThread = new Thread(this);

mainThread.start();

}

}

public void run() {

thread1 = new MyThread(this, 2);

thread1.start();

thread2 = new MyThread(this, 3);

thread2.start();

}

public boolean keyDown( Event evt, int key ) {

thread1.stop();

thread2.stop();

return(true);

}

public void paint( Graphics g) {

g.drawString("Ruleaza 3 fire de executie", 10, 10);

g.drawString("Contor1 :"+thread1.counter, 10, 30);

g.drawString("Contor2 :"+thread2.counter, 10, 50);

}

}

//----------------------------------------------------------------------

class CntThread implements Runnable {

TestThread parent;

boolean loop;

Thread cntThread;

int step;

int counter;

public CntThread(TestThread p, int s) {

parent = p; //salvez instanta parinte

step = s;

}

public void start() {

if (cntThread == null) {

counter = 0;

cntThread = new Thread(this); //creez firul de executie pentru numarare

cntThread.start(); //lanseaza firul de executie

}

}

public void run() {

loop = true;

while (loop) {

counter += step;

parent.repaint();

try {Thread.sleep(1000);} //pauza de 1 sec

catch (InterruptedException e) {}

}

}

public void stop() {

loop = false;

}

}

2.3 Instantierea unui fir de executie : NEW

• mainThread = new Thread(this) ;

• myThread = new MyThreadClass();

2.4 Distrugerea unui fir de executie : STOP, DESTROY

myThread = new MyThreadClass();

myThread.start();

myThread.stop();

myThread = null;

Nu este necesara distrugerea explicita a unui fir de executie. Sistemul Java de colectare a gunoiului se ocupa de acest lucru. El poate fi fortat sa dezaloce resuresele alocate unui thread prin atribuirea cu null a variabilei care referea instanta firului de executie

3. Metode pentru firele de executie

• init() - apelata la prima lansare a unui fir de executie, locul unde se scrie codul de initializare

• start()- apelata la fiecare lansare, dupa operatiile de initializare

• stop()- apelata la terminarea firului de executie, contine codul de terminare a unui fir de executie

• run()- apelata de metoda start, contine corpul firului de executie

3. Denumirea firelor de executie

• Thread myThread = new Thread(this.”Nume fir”)

• myThread.getName()

• myThread.setName()

3. Sincronizarea firelor de executie

Un obiect sau o metoda pot fi accesate de mai multe fire de executie. Nu exista însa nici o garantie privind firul de executie care va avea acces la un obiect la un moment dat, ceea ce poate conduce la rezultate imprevizibile. Pentru a evita acest lucru se foloseste cuvântul cheie synchronized, care blocheaza un obiect pe perioada executarii unui bloc de cod.

public void incIndex() {

synchronized(index) {

//bloc de cod sincronizat, ob. index este blocat

index++;

System.out.println(“index = “ + index);

}

Preview document

Fire de Executie in Java - Pagina 1
Fire de Executie in Java - Pagina 2
Fire de Executie in Java - Pagina 3
Fire de Executie in Java - Pagina 4

Conținut arhivă zip

  • Fire de Executie in Java.doc

Alții au mai descărcat și

Calculatoare - Introducere, Componente - Structura si Functionare

ARGUMENT Lucrarea de fata prezinta principalele aspecte ale arhitecturii si organizarii calculatoarelor numerice. Materialul este organizat astfel...

Proiectarea și Crearea unui Web Server

INTRODUCERE În prezent produsele soft se implementează foarte rapid, din cauza dezvoltării enorme a tehnologiilor informaţionale, acumulării...

Auditul Sistemelor Informatice

INTRODUCERE Societatea informationala determina o crestere dramatica a dependentei tuturor domeniilor vietii economico-sociale de tehnnologiile...

Crearea unui Sistem de Telefonie Mobila in Baza Tehnologiei CORBA

Întroducere Orice construcţie are nevoie mai întâi de o bază. Aceasta nu e teoremă ci o axiomă. Şi pentru că de cum a fost pusă baza depinde...

Auditarea Sistemelor Informatice

1.Având în vedere modificarile intervenite în economia româneasca si europeana agentii economici care folosesc în contabilitate si finante-banci...

Crearea unui Site Web

1. INTRODUCERE 1.1. Contextul Într-o eră în care informaţia devine din ce în ce mai abundentă şi din ce în ce mai necesară apare nevoia ca...

Factori de Succes în Dezvoltarea Sistemelor Informaționale

INTRODUCERE În noua economie, producătorii de soluţii IT sunt confruntaţi cu o nouă cerinţă care îi obligă să schimbe total modul de construcţie a...

Ai nevoie de altceva?