MRJP Wykład 15: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Salwicki (dyskusja | edycje)
Salwicki (dyskusja | edycje)
Linia 3: Linia 3:
W niektórych językach programowania obiektowego pewne obiekty mogą być aktywne tzn. wykonywać swoje własne instrukcje równocześnie z innymi obiektami aktywnymi.
W niektórych językach programowania obiektowego pewne obiekty mogą być aktywne tzn. wykonywać swoje własne instrukcje równocześnie z innymi obiektami aktywnymi.


Przypomnijmy, że zwykle obiekt jest kolekcją swych atrybutów: pól i metod. Taki obiekt nie wykonuje swoich własnych poleceń. W odróżnieniu od zwykłych obiektów klas istnieć mogą obiekty aktywne odpowiednio zadeklarowanych klas. W języku Java są to obiekty podklas klasy Thread. W Loglanie są to obiekty procesów. W Adzie
Przypomnijmy, że zwykle obiekt jest kolekcją swych atrybutów: pól i metod. Taki obiekt nie wykonuje swoich własnych poleceń. W odróżnieniu od zwykłych obiektów klas istnieć mogą obiekty aktywne odpowiednio zadeklarowanych klas.  
W języku Java są to obiekty podklas klasy Thread. W Loglanie są to obiekty procesów. W Adzie ... TODO
 
Obiekty aktywne (alias procesy albo wątki) są więc dla nas obiektami, które posiadają możliwość wykonywania instrukcji współbieżnie z innymi procesami. Mówiąc dokładniej obliczenia procesów mogą być wykonywane:
* Współbieżnie (wiele procesów wykonywanych
  na  jednym procesorze fizycznym),
* W rozproszeniu (na maszynach połączonych siecią),
* Równolegle (na maszynie z wieloma
  procesorami, które dzielą się wspólną pamięcią).
 
 
== Jednolicie czy oddzielnie? ==
 
Pytanie takie pojawia sie bardzo wcześnie gdy zamierzamy w języku programowania zawrzeć narzędzia programowania rozproszonego i współbieżnego. W javie mamy dwie odrębne koncepcje: procesy współbieżne realizowane są jako obiekty pokdlas klasy Thread. Procesy rozproszone wymagają użycia mechanizmu [RMI][http://www.example.com link title].

Wersja z 09:50, 12 cze 2006

Obiekty aktywne: współbieżne i rozproszone

W niektórych językach programowania obiektowego pewne obiekty mogą być aktywne tzn. wykonywać swoje własne instrukcje równocześnie z innymi obiektami aktywnymi.

Przypomnijmy, że zwykle obiekt jest kolekcją swych atrybutów: pól i metod. Taki obiekt nie wykonuje swoich własnych poleceń. W odróżnieniu od zwykłych obiektów klas istnieć mogą obiekty aktywne odpowiednio zadeklarowanych klas. W języku Java są to obiekty podklas klasy Thread. W Loglanie są to obiekty procesów. W Adzie ... TODO

Obiekty aktywne (alias procesy albo wątki) są więc dla nas obiektami, które posiadają możliwość wykonywania instrukcji współbieżnie z innymi procesami. Mówiąc dokładniej obliczenia procesów mogą być wykonywane:

  • Współbieżnie (wiele procesów wykonywanych
 na  jednym procesorze fizycznym),
  • W rozproszeniu (na maszynach połączonych siecią),
  • Równolegle (na maszynie z wieloma
 procesorami, które dzielą się wspólną pamięcią).


Jednolicie czy oddzielnie?

Pytanie takie pojawia sie bardzo wcześnie gdy zamierzamy w języku programowania zawrzeć narzędzia programowania rozproszonego i współbieżnego. W javie mamy dwie odrębne koncepcje: procesy współbieżne realizowane są jako obiekty pokdlas klasy Thread. Procesy rozproszone wymagają użycia mechanizmu [RMI]link title.