Съдържание:

Как нишката комуникира помежду си?
Как нишката комуникира помежду си?

Видео: Как нишката комуникира помежду си?

Видео: Как нишката комуникира помежду си?
Видео: Калина красная (4К, драма, реж. Василий Шукшин, 1973 г.) 2024, Април
Anonim

Има три начина за нишки да се общуват помежду си . Първият е чрез общосподелени данни. Всички нишки в същата програма споделят едно и също пространство в паметта. Ако даден обект е достъпен за различни нишки след това тези нишки споделяне на достъп до член на данните на този обект и по този начин общуват помежду си.

Хората също така питат, как общувате между две нишки?

Разбиране на процеса на комуникация между нишките

  1. Нишките влизат, за да придобият заключване.
  2. Заключването се придобива от по конец.
  3. Сега нишката преминава в състояние на изчакване, ако извикате метода wait() на обекта.
  4. Ако извикате метода notify() или notifyAll(), нишката се премества в уведоменото състояние (състояние за изпълнение).

Второ, какво представлява методът на чакане в нишката? Просто казано, изчакайте () е екземпляр метод който се използва за конец синхронизация. Може да се извика на всеки обект, тъй като е дефиниран точно в java. език Обект, но може да бъде извикан само от синхронизиран блок. Той освобождава ключалката на обекта, така че друг конец може да скочи и да придобие ключалка.

Освен това, как постигате комуникация между нишките?

Комуникация между нишки в Java

  1. чакай() - казва на извикващата нишка да се откаже от заключването и да заспи, докато друга нишка влезе в същия монитор и извика notify().
  2. notify()-събужда една единствена нишка, която извиква чакане() на същия обект.
  3. notifyAll() - Събужда всички нишки, които са извикали wait() на същия обект.

Как използвате изчакване и уведомяване в нишките на Java?

Когато се използва synchronized(this), трябва да избягвате да синхронизирате извикванията на методи на други обекти. изчакайте () казва на повикването конец да се откажа от монитора и да заспя до някой друг конец влиза в същия монитор и се обажда уведоми (). уведоми () се събужда първият конец това се обади изчакайте () на същия обект.

Препоръчано: