Мазмұны:

Жіп бір-бірімен қалай байланысады?
Жіп бір-бірімен қалай байланысады?

Бейне: Жіп бір-бірімен қалай байланысады?

Бейне: Жіп бір-бірімен қалай байланысады?
Бейне: Жіп байлау түрлері 2024, Сәуір
Anonim

үш жолы бар жіптер дейін бір-бірімен қарым-қатынас жасау . Біріншісі жалпыға ортақ деректер арқылы. Бәрі жіптер сол бағдарламада бірдей жад кеңістігін бөліседі. Егер нысан әртүрлі адамдар үшін қолжетімді болса жіптер сосын мыналар жіптер сол нысанның деректер мүшесіне қатынасты ортақ пайдалану және осылайша бір-бірімен сөйлесу.

Адамдар да сұрайды, сіз екі ағынның арасында қалай байланысасыз?

Жіп аралық байланыс процесін түсіну

  1. Жіптер құлыпты алу үшін кіреді.
  2. Бекіту жіп арқылы алынады.
  3. Енді нысанда wait() әдісін шақырсаңыз, ағын күту күйіне өтеді.
  4. Егер notify() немесе notifyAll() әдісін шақырсаңыз, ағын хабарланған күйге (іске қосуға болатын күй) жылжиды.

Екіншіден, жіпте күту әдісі дегеніміз не? Қарапайым тілмен айтқанда, күт () мысал болып табылады әдіс сол үшін пайдаланылады жіп синхрондау. Оны кез келген нысанда шақыруға болады, себебі ол тікелей java-да анықталған. тіл. Нысан, бірақ оны тек синхрондалған блоктан шақыруға болады. Ол басқа нысандағы құлыпты босатады жіп секіріп, құлып ала алады.

Сонымен қатар, жіпаралық байланысқа қалай қол жеткізесіз?

Java тіліндегі жіпаралық байланыс

  1. wait()-Ол шақырушы ағынға құлыптан бас тартуды және басқа ағын сол мониторға кіріп, notify() шақырғанша ұйқы режиміне өтуін айтады.
  2. notify()-Бір нысанда wait() деп аталатын бір ағынды оятады.
  3. notifyAll()-Бір нысанда wait() деп аталатын барлық ағындарды оятады.

Java ағындарында күту және хабарлауды қалай пайдаланасыз?

Синхрондалған(бұл) пайдаланылғанда, басқа нысандар әдістерінің шақыруларын синхрондаудан аулақ болу керек. күт () шақыруды айтады жіп монитордан бас тартып, басқа уақытқа дейін ұйықтау жіп сол мониторға кіріп, қоңырау соғады хабарлау (). хабарлау () бірінші оянады жіп шақырған күт () сол нысанда.

Ұсынылған: