Мазмуну:

Жип бири-бири менен кантип байланышат?
Жип бири-бири менен кантип байланышат?

Video: Жип бири-бири менен кантип байланышат?

Video: Жип бири-бири менен кантип байланышат?
Video: кыргызча мышык) 2024, Апрель
Anonim

Үч жолу бар жиптер чейин бири-бири менен баарлашуу . Биринчи жалпы бөлүшүлгөн маалыматтар аркылуу. Бардык жиптер ошол эле программада бирдей эс мейкиндигин бөлүшөт. Эгерде объект ар кандай адамдарга жеткиликтүү болсо жиптер анда булар жиптер ошол объекттин маалымат мүчөсүнө кирүү мүмкүнчүлүгүн бөлүшүү жана ошентип бири-бири менен байланыш.

Эл дагы сурашат, эки жиптин ортосунда кантип байланышасың?

Жиптер аралык байланыш процессин түшүнүү

  1. Жиптер кулпу алуу үчүн кирет.
  2. Кулпу жиптен алынган.
  3. Эми объектте wait() ыкмасын чакырсаңыз, жип күтүү абалына өтөт.
  4. Эгерде сиз notify() же notifyAll() ыкмасын чакырсаңыз, жип кабарланган абалга (иштей турган абалга) жылат.

Экинчиден, жипте күтүү ыкмасы деген эмне? Жөнөкөй сөз менен айтканда, күт () бир мисал ыкмасы үчүн колдонулат жип синхрондоштуруу. Аны каалаган объектке чакырса болот, анткени ал javaда туура аныкталган. lang. Объект, бирок аны синхрондоштурулган блоктон гана чакырса болот. Бул объект боюнча кулпусун бошотуп, башка жип секирип, кулпуга ээ боло алат.

Андан тышкары, сиз жиптер аралык байланышка кантип жетесиз?

Java тилиндеги темалар аралык байланыш

  1. wait()-Бул чалуучу жипке кулпудан баш тартып, ошол эле мониторго башка жип кирмейинче жана notify() чалмайынча уктап кетүүнү айтат.
  2. notify()-Бир эле объектте wait() деп аталган бир жипти ойготот.
  3. notifyAll()-Бир эле объектте wait() деп аталган бардык жиптерди ойготот.

Java темаларында күтүү жана билдирүүнү кантип колдоносуз?

Синхрондоштуруу (бул) колдонулганда, сиз башка объекттердин методдорун синхрондоштуруудан качышыңыз керек. күт () чакырууну айтат жип монитордон баш тартууга жана башкага чейин уктап калуу жип ошол эле монитор жана чалууларды кирет кабарлоо (). кабарлоо () биринчи ойгонот жип деп чакырды күт () ошол эле объект боюнча.

Сунушталууда: