Dom Rozwój Co to jest synchronizacja wątków? - definicja z techopedia

Co to jest synchronizacja wątków? - definicja z techopedia

Spisu treści:

Anonim

Definicja - Co oznacza synchronizacja wątków?

Synchronizacja wątków to jednoczesne wykonywanie dwóch lub więcej wątków, które współużytkują zasoby krytyczne. Wątki powinny być zsynchronizowane, aby uniknąć krytycznych konfliktów użycia zasobów. W przeciwnym razie mogą wystąpić konflikty, gdy wątki działające równolegle próbują jednocześnie zmodyfikować wspólną zmienną.

Techopedia wyjaśnia synchronizację wątków

Aby wyjaśnić synchronizację wątków, rozważ następujący przykład: trzy wątki - A, B i C - są wykonywane jednocześnie i muszą uzyskać dostęp do zasobu krytycznego, Z. Aby uniknąć konfliktów podczas uzyskiwania dostępu do Z, wątki A, B i C muszą być zsynchronizowane . Tak więc, gdy A uzyskuje dostęp do Z, a B również próbuje uzyskać dostęp do Z, dostępu B do Z należy unikać za pomocą środków bezpieczeństwa, dopóki A nie zakończy operacji i nie wyjdzie z Z.


W Javie stosuje się dwie strategie synchronizacji, aby zapobiec zakłóceniom wątków i błędom spójności pamięci:

  • Metoda synchroniczna: zawiera zsynchronizowane słowo kluczowe w deklaracji. Gdy wątek wywołuje metodę zsynchronizowaną, metoda zsynchronizowana automatycznie uzyskuje wewnętrzną blokadę dla obiektu tej metody i zwalnia ją, gdy metoda zwraca, nawet jeśli powrót ten został spowodowany przez nieprzechwycony wyjątek.
  • Instrukcja zsynchronizowana: deklaruje blok kodu do synchronizacji. W przeciwieństwie do metod zsynchronizowanych instrukcje zsynchronizowane powinny określać obiekty, które zapewniają wewnętrzną blokadę. Te instrukcje są przydatne do poprawy współbieżności z drobnoziarnistą synchronizacją, ponieważ umożliwiają uniknięcie niepotrzebnego blokowania.

Co to jest synchronizacja wątków? - definicja z techopedia