Turinys:

Kaip siūlai bendrauja tarpusavyje?
Kaip siūlai bendrauja tarpusavyje?

Video: Kaip siūlai bendrauja tarpusavyje?

Video: Kaip siūlai bendrauja tarpusavyje?
Video: Kakė Makė gamina siūlų žmogeliuką. Ką pasakė Kakė Makė? 2024, Balandis
Anonim

Yra trys būdai siūlai į bendrauti tarpusavyje . Pirmasis – naudojant bendrai bendrinamus duomenis. Visi siūlai toje pačioje programoje dalijasi ta pačia atminties vieta. Jei objektas yra prieinamas įvairiems siūlai tada šie siūlai bendrinti prieigą prie to objekto duomenų nario ir tokiu būdu bendrauti tarpusavyje.

Žmonės taip pat klausia, kaip tu bendrauji tarp dviejų gijų?

Supratimas tarpgijų komunikacijos proceso

  1. Įveskite siūlus, kad gautumėte užraktą.
  2. Užraktas įgyjamas ant sriegio.
  3. Dabar gija pereina į laukimo būseną, jei iškviečiate laukimo () metodą objekte.
  4. Jei iškviečiate notify() arba notifyAll() metodą, gija pereina į pranešimo būseną (vykdomą būseną).

Antra, kas yra laukimo metodas gijoje? Paprasčiau pasakius, laukti () yra pavyzdys metodas tam naudojamas siūlas sinchronizavimas. Jis gali būti iškviestas bet kuriame objekte, nes jis apibrėžtas tiesiai „Java“. lang. Objektas, bet jį galima iškviesti tik iš sinchronizuoto bloko. Jis atleidžia objekto užraktą, kad kitas siūlas gali įšokti ir įsigyti spyną.

Be to, kaip užmegzti ryšį tarp gijų?

Bendravimas tarp gijų Java

  1. palauk() – liepia skambinančiajai gijai atsisakyti užrakto ir eiti miegoti, kol į tą patį monitorių įeis kita gija ir iškvies notify().
  2. notify() – pažadina vieną giją, kuri vadina laukti() tame pačiame objekte.
  3. notifyAll() – pažadina visas gijas, kurios tame pačiame objekte iškvietė wait().

Kaip naudoti laukimo ir pranešimo funkciją Java gijose?

Kai naudojamas sinchronizuotas (tai), turite vengti sinchronizuoti kitų objektų metodų iškvietimus. laukti () pasakoja skambinant siūlas atsisakyti monitoriaus ir eiti miegoti iki kito siūlas įeina į tą patį monitorių ir skambina pranešti (). pranešti () atsibunda pirmasis siūlas kad paskambino laukti () tame pačiame objekte.

Rekomenduojamas: