Fire de execuție în 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 execuție în Java - Pagina 1
Fire de execuție în Java - Pagina 2
Fire de execuție în Java - Pagina 3
Fire de execuție în Java - Pagina 4

Conținut arhivă zip

  • Fire de Executie in Java.doc

Alții au mai descărcat și

Crearea unui sistem de telefonie mobilă în 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...

Calculatoare - introducere, componente - structură și funcționare

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...

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...

Te-ar putea interesa și

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...

Aplicație web de licitații online

Cuvant Inainte Aplicatiile distribuite sînt de o buna perioada de timp o prezenta uzuala în peisajul IT chiar si din tara noastra. Ultimii ani au...

Implementarea Algoritumului Dijkstra pentru Calcularea Drumului Optim Folosind Java

1. Introducere 1.1 Ce este un algoritm?Tipuri de algoritmi folositi pentru calcularea drumului optim Scurt istoric: “Originile teoriei...

Fire de Execuție Java

INTRODUCERE Java este un limbaj de programare orientat-obiect, puternic tipizat, conceput de către James Gosling la Sun Microsystems (acum filială...

Sistem de comunicație client server

Introducere In cadrul acestui proiect am realizat un sistem de comunicatie client server bazat pe socket TCP,fire de executie si interfata grafica...

Utilizarea Thread-urilor în Applet-uri și Servlet-uri Java

Utilizarea thread-urilor în applet-uri şi servlet-uri Java 1. Delimitări conceptuale Spre deosebire de alte limbaje de programare (C/C++), Java...

Java

Java este o tehnologie inovatoare lansata de compania Sun Microsystems 1n 1995, care a avut un impact remarcabil asupra a1ntregii comunitatsi a...

Ai nevoie de altceva?