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)
Publicat de: Theodor Marginean
Puncte necesare: 0

Extras din curs

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

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

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

AutoCad

APERTURE - controleazã mãrimea cursorului selector, caracteristic modului object snap. ARC - traseazã un arc de cerc de orice dimensiune. A -...

Biblioteca de Șabloane Standard

Biblioteca de Sabloane Standard (STL) asigura o abstractizare standardizata a datelor prin intermediul containerelor si o abstractizare procedurala...

Clase Derivate

1. Clase derivate. Prin mostenire, atributele unei clase de baza sunt transmise unor clase derivate. Derivarea permite definirea unor clase noi,...

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?