Obsah:

Ako medzi sebou vlákna komunikujú?
Ako medzi sebou vlákna komunikujú?

Video: Ako medzi sebou vlákna komunikujú?

Video: Ako medzi sebou vlákna komunikujú?
Video: Ako s tebou komunikujú Anjeli? - Časté znaky 2024, Apríl
Anonim

Existujú tri spôsoby vlákna do komunikovať medzi sebou . Prvým je prostredníctvom bežne zdieľaných údajov. Všetko vlákna v rovnakom programe zdieľajú rovnaký pamäťový priestor. Ak je objekt prístupný rôznym vlákna potom tieto vlákna zdieľať prístup k dátovému členovi tohto objektu a teda navzájom komunikovať.

Ľudia sa tiež pýtajú, ako komunikujete medzi dvoma vláknami?

Pochopenie procesu medzivláknovej komunikácie

  1. Vlákna vstupujú, aby získali zámok.
  2. Zámok sa získava na závit.
  3. Teraz vlákno prejde do stavu čakania, ak na objekte zavoláte metódu wait().
  4. Ak zavoláte metódu notify() alebo notifyAll(), vlákno sa presunie do oznámeného stavu (spustiteľný stav).

Po druhé, čo je metóda čakania vo vlákne? Jednoducho povedané, počkaj () je príklad metóda na to sa používa niť synchronizácia. Dá sa volať na akýkoľvek objekt, pretože je definovaný priamo v jazyku Java. lang. Objekt, ale dá sa volať len zo synchronizovaného bloku. Uvoľní zámok na objekte tak, že ďalší niť môže skočiť a získať zámok.

Okrem toho, ako dosiahnete komunikáciu medzi vláknami?

Komunikácia medzi vláknami v jazyku Java

  1. wait()-Povie volajúcemu vláknu, aby sa vzdalo zámku a prešlo do režimu spánku, kým nejaké iné vlákno nevstúpi na ten istý monitor a nezavolá notify().
  2. notify()-Prebudí jedno vlákno, ktoré volalo wait() na rovnakom objekte.
  3. notifyAll()-Prebudí všetky vlákna, ktoré volali wait() na rovnakom objekte.

Ako používate čakanie a oznamovanie vo vláknach Java?

Pri použití synchronized(this) sa musíte vyhnúť synchronizácii vyvolania metód iných objektov. počkaj () hovorí volajúcemu niť vzdať sa monitora a ísť spať do inej niť vstúpi na ten istý monitor a zavolá oznámiť (). oznámiť () zobudí prvý niť to volalo počkaj () na rovnakom objekte.

Odporúča: