Wyk ad 3 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga


Wielowątkowość w java

Dostępne mechanizmy

Wielowątkowość - cechy

Cel stosowania wielowątkowości

Deklaracja w Javie

Interfejs ten pochodzi z pakietu java.lang, jego deklaracja:

public interface Runnable{

void run(); }

Każda klasa używająca tego interfejsu musi posiadać metodę run().

Deklaracja - klasa potomna Thread

class Watek extends Thread {

String wysuń - "";

public Watek(String str, int numeru)//Konstruktor

{…}

public void run()//Główna metoda wątku

{…}

}

Deklaracja - klasa potomna Thread

public Watek(String str, int numer) {

super(str); //Konstruktor nadklasy, ustawia nazwę wątku

// Ustawienie wcięcia z jakim będzie wyświetlana

// nazwa Wątku

for (int i = 1; i < numer; i++) wysuń = wysuń + "\t"; }

Deklaracja - interfejs Runnable

Deklaracja - interfejs Runnable

class Watek implements Runnable {

String wysuń - "";

// W polu danych bieżący przechowywana będzie referencja do wątku,w którym wykonana zostanie klasa Watek

Thread bieżący;

public Watek {int numer) {...}

public void run()

{…} }

Deklaracja - interfejs Runnable

public Watek {int numer) {

// metoda statyczna currentThread() klasy Thread zwąca referencję do bieżącego wątku

bieżący = Thread. currentThread();

for (int i = 1; i < numer; i++)

wysuń = wysuń + "\t"; }

Deklaracja - interfejs Runnable

public void run(){ for(inti = 0; i < 4; i++) {

// dzięki referencji bieżący możemy na rzecz tego wątku wykonać metodę getName() (z klasy Thread)

System.outprintl n (wysuń + i + "" + bieżący. getName());

try{

bieżący.sleep((int)(Math.random()*1000)); }

catch (lnterruptedException e) {} }

System, out.printl n (wysuń +• biezacy.getName()+ " koniec"); }

Stany wątków

Stany wątków - nowy wątek

Thread Watek = new KlasaWatku();

IIlegał ThreadStateException

Stany wątków - wykonywany

Thread Walek = new KlasaWalku();

Watek.start();

Stany wątków - nie wykonywany

Wątek przechodzi do tego stanu gdy zachodzi jedno ze zjawisk;

Stany wątków - nie wykonywany

Powrót do stanu wykonywany gdy zachodzi jedno ze zjawisk:

Stany wątków - zakończony

public vid run() {

Int i=1;

while (i<51) {

System.out.println( i + „iteracja”);

i++;

}}

Thiread mojWatek = new MojaKlasaWatku(); ...

mojWatek.start();

try { Thread.steep(10000); }

catch (InterruptedException e){}

mojWatek.stop();

Priorytety wątków

Synchronizacja wątków

dowolnym dostępie do zmiennej

Problemy w synchronizacji

Ponieważ wątki mogą się nawzajem blokować może dochodzić do sytuacji awaryjnych

Producent - Konsument

Producent - Konsument



Wyszukiwarka

Podobne podstrony:
Wyk ad 8 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 1 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 4 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 5 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 6 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 2 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 9 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 7 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Przetwarzanie Równoległe i Rozproszczone Szczerbińskiego, wykład 3, SIEĆ PRZETASOWANA (perfect shuff
Ekonomia rynkowa - wyk+éad 05, Studia, Informatyka Stosowana PWSZ Tarnów st 1, Semestr I, Ekonomia,
wyklad 4, przetwarzanie rownolegle i rozproszone - Szczerbinski
[tomko] Progr Rozpr Pytania egzaminacyjne, przetwarzanie rownolegle i rozproszone - Szczerbinski
Wyk ad I sciaga z BHP, BHP
przyklady na egzamin, szkola, przetwarzanie rownolegle i rozproszone - Prof Szczerbinski
Ekonomia rynkowa - wyk+éad 04, Studia, Informatyka Stosowana PWSZ Tarnów st 1, Semestr I, Ekonomia,

więcej podobnych podstron