Utilizarea Thread-urilor in Applet-uri si Servlet-uri Java

Extras din referat Cum descarc?

Utilizarea thread-urilor in applet-uri 
si servlet-uri Java
1. Delimitari conceptuale
Spre deosebire de alte limbaje de programare (C/C++), Java permite programelor utilizarea mai multor fire de control (thread-uri). Un fir de executie (thread) este o secventa de instructiuni ale unui program executabil.
Cu alte cuvinte, programele pot executa doua sau mai multe operatii diferite in acelasi timp. In realitate se executa numai un fir de executie este executat la un moment dat. 
Pentru a da impresia ca firele sunt executate simultan, masina virtuala Java (JVM) comuta rapid controlul de la un fir la altul, fiecare fir executandu-se pentru scurt timp inainte de a trece controlul altui fir.
Firele de executie (threads) pot fi executate si executa atat de programele Java simple, cat si de applet-uri si servlet-uri. 
In cazul applet-urilor, navigatoarele Web aloca un thread pentru fiecare applet din pagina si foloseste thread-ul respectiv pentru apelurile metodelor de baza din acesta.
Servlet-urile sunt incarcate si ruleaza pe servere Web multi-thread si sunt capabile sa trateze mai multe cereri simultan.
2. Fire de executie in Java
Orice aplicatie ruleaza ca proces al sistemului de operare, fiecare proces detinand un anumit numar de resurse alocate de catre sistem (fisiere deschise, memorie alocata dinamic, fire de executie si altele). 
Un fir de executie (thread) poate fi privit ca fiind o unitate de executie a unui anumit proces. Fiecare fir de executie are asociate: o secventa de instructiuni, un set de registri procesor si o stiva de memorie. Firele de executie proceseaza instructiunile aplicatiei, fiecare dintre aceste fire putand rula in paralel, pe un procesor separat (in cazul masinilor multi-procesor), ori in maniera concurenta (pe calculatoarele mono-procesor). 
Limbajul Java include ca parte integranta (in package-ul java.lang) clase suport pentru programare multi-thread, pentru crearea mai multor fire de executie intr-un program. Toate firele de executie dintr-un program impart acelasi spatiu de adrese si pot sa comunice prin variabile comune, lucru care simplifica programarea. 
Chiar daca nu se defineste explicit, la lansarea unei aplicatii Java, a unui applet sau servlet, este creat automat un fir de executie central, acesta putand ulterior (implicit sau explicit) sa creeze alte fire de executie. 
Fiecarui thread i se asociaza o prioritate, acestea fiind executate in ordinea prioritatii asociate, thread-ul cu prioritate mai mare fiind executat preferential fata de cel cu prioritate mai mica. Un exemplu de fire de executie cu prioritate scazuta, ruland in fundal atunci cand nici un alt fir nu poate fi rulat sunt demonii, care executa de obicei operatii costisitoare in timp, independente de celelalte fire de executie. 
De exemplu, se poate implementa un fir de executie demon pentru incarcarea unui obiect multimedia (fisier film, voce etc.) de pe retea, necesitand un timp indelungat de transfer. 
Terminarea unei aplicatii Java are loc atunci cand se sfarsesc toate firele sale de executie sau cand nu mai exista decat fire de tip demon. Finalizarea firului principal de executie nu implica terminarea automata a aplicatiei. 
Implementarea unui fir de executie poate fi realizata fie prin operatiunea de derivare din clasa Thread a unei noi clase, fie prin implementarea interfetei Runnable in cadrul unei clase a utilizatorului, lansarea facandu-se prin apelul metodei start, iar terminarea prin metoda stop. Mai multe fire de executie pot fi grupate in diverse grupuri, sincronizarea lor fiind realizata prin intermediul constructiei synchronized.
Un fir de executie este format de fapt din doua elemente:
- mecanismul de fir de executie propriu-zis; 
- codul executat de firul de executie.
Este nevoie de un mecanism prin care masina virtuala Java sa fie informata ca un anumit obiect trebuie tratat ca un fir de executie si mai ales care este "metoda principala" a acestui obiect (in sensul in care main() este "metoda principala" a unei aplicatii).
In cazul utilizarii derivarii din clasa Thread, trebuiesc efectuate urmatoarele operatii:
- crearea unei clase derivate din clasa Thread sau dintr-o clasa derivata din ea:
class MyThread extends Thread {
...


Fisiere in arhiva (1):

  • Utilizarea Thread-urilor in Applet-uri si Servlet-uri Java.doc

Imagini din acest proiect Cum descarc?

Promoție: 1+1 gratis

După plată vei primi prin email un cod de download pentru a descărca gratis oricare alt referat de pe site.Vezi detalii.


Descarcă aceast referat cu doar 4 € (1+1 gratis)

Simplu și rapid în doar 2 pași: completezi adresa de email și plătești. După descărcarea primului referat vei primi prin email un alt cod pentru a descărca orice alt referat.

1. Numele, Prenumele si adresa de email:

Pe adresa de email specificata vei primi link-ul de descarcare, nr. comenzii si factura (la plata cu cardul). Daca nu gasesti email-ul, verifica si directoarele spam, junk sau toate mesajele.

2. Alege modalitatea de plata preferata:


* La pretul afisat se adauga 19% TVA, platibil in momentul achitarii abonamentului / incarcarii cartelei.

Hopa sus!