Kazalo:

Kako nit komunicira med seboj?
Kako nit komunicira med seboj?

Video: Kako nit komunicira med seboj?

Video: Kako nit komunicira med seboj?
Video: Добрыня Никитич и Змей Горыныч | Мультфильмы для всей семьи 2024, April
Anonim

Obstajajo trije načini za niti do komunicirati med seboj . Prvi je preko skupnih podatkov. Vse niti v istem programu delijo isti pomnilniški prostor. Če je predmet dostopen različnim niti potem te niti delite dostop do podatkovnega člana tega predmeta in tako komunicirati drug z drugim.

Ljudje se tudi sprašujejo, kako komunicirate med dvema nitima?

Razumevanje procesa komunikacije med nitmi

  1. Niti vstopijo, da pridobijo ključavnico.
  2. Zaklepanje se pridobi z navojem.
  3. Zdaj nit preide v stanje čakanja, če na objektu pokličete metodo wait().
  4. Če pokličete metodo notify() ali notifyAll(), se nit premakne v obveščeno stanje (stanje, ki ga je mogoče izvajati).

Drugič, kaj je metoda čakanja v niti? Enostavno povedano, počakaj () je primer metoda ki se uporablja za nit sinhronizacijo. Lahko se pokliče na katerem koli objektu, saj je definiran prav v java. lang. Objekt, vendar ga je mogoče poklicati samo iz sinhroniziranega bloka. Sprosti ključavnico na predmetu, tako da drug nit lahko skoči in pridobi ključavnico.

Poleg tega, kako dosežete komunikacijo med niti?

Komunikacija med nitmi v Javi

  1. počakaj() - klicni niti pove, naj opusti zaklepanje in preide v stanje spanja, dokler neka druga nit ne vstopi v isti monitor in pokliče notify().
  2. notify() – zbudi eno samo nit, ki je klicala čakaj() na istem objektu.
  3. notifyAll() – zbudi vse niti, ki so klicale čakanje() na istem objektu.

Kako uporabljate čakanje in obveščanje v nitih Java?

Ko se uporablja synchronized(this), se morate izogibati sinhroniziranju klicev metod drugih objektov. počakaj () pove klicu nit da se odpovem monitorju in grem spat do kakšnega drugega nit vstopi v isti monitor in pokliče obvestiti (). obvestiti () se prvi zbudi nit ki je klical počakaj () na istem predmetu.

Priporočena: