Სარჩევი:

როგორ ურთიერთობენ ძაფი ერთმანეთთან?
როგორ ურთიერთობენ ძაფი ერთმანეთთან?

ვიდეო: როგორ ურთიერთობენ ძაფი ერთმანეთთან?

ვიდეო: როგორ ურთიერთობენ ძაფი ერთმანეთთან?
ვიდეო: რა გავაკეთოდ რომ დაგვირეკოს ჩვენმა პარტნიორმა 2024, აპრილი
Anonim

ამისთვის სამი გზა არსებობს ძაფები რომ ერთმანეთთან კომუნიკაცია . პირველი არის საყოველთაოდ გაზიარებული მონაცემების მეშვეობით. Ყველა ძაფები იმავე პროგრამაში იზიარებენ მეხსიერების იმავე ადგილს. თუ ობიექტი ხელმისაწვდომია სხვადასხვა ძაფები შემდეგ ეს ძაფები გააზიარეთ წვდომა ამ ობიექტის მონაცემთა წევრზე და ამით დაუკავშირდნენ ერთმანეთს.

ხალხი ასევე კითხულობს, როგორ აკავშირებთ ორ თემას შორის?

ძაფთაშორისი კომუნიკაციის პროცესის გააზრება

  1. ძაფები შედიან საკეტის მოსაპოვებლად.
  2. საკეტი მიიღება ძაფზე.
  3. ახლა თემა გადადის ლოდინის მდგომარეობაში, თუ ობიექტზე გამოიძახებთ wait() მეთოდს.
  4. თუ გამოიძახებთ notify() ან notifyAll() მეთოდს, თემა გადადის შეტყობინებულ მდგომარეობაში (გაშვებადი მდგომარეობა).

მეორეც, რა არის ლოდინის მეთოდი თემაში? მარტივად რომ ვთქვათ, დაელოდე () არის მაგალითი მეთოდი რომ გამოიყენება ძაფი სინქრონიზაცია. მისი გამოძახება შესაძლებელია ნებისმიერ ობიექტზე, როგორც ეს განსაზღვრულია პირდაპირ java-ზე. ენა. ობიექტი, მაგრამ მისი გამოძახება შესაძლებელია მხოლოდ სინქრონიზებული ბლოკიდან. ის ათავისუფლებს საკეტს ობიექტზე ისე, რომ სხვა ძაფი შეუძლია გადახტომა და საკეტის შეძენა.

გარდა ამისა, როგორ მიაღწევთ ძაფებს შორის კომუნიკაციას?

ძაფთაშორისი კომუნიკაცია ჯავაში

  1. Wait()-ის ეუბნება გამოძახების თემას, რომ უარი თქვას დაბლოკვაზე და დაიძინოს, სანამ სხვა თემა არ შევა იმავე მონიტორში და არ დაურეკავს notify().
  2. notify()-ის აღვიძებს ერთ ძაფს, რომელიც მოუწოდებს wait() იმავე ობიექტზე.
  3. notifyAll()-ის აღვიძებს ყველა ძაფს, რომელსაც უწოდებს wait() იმავე ობიექტზე.

როგორ იყენებთ ლოდინს და შეტყობინებებს ჯავის ძაფებში?

როდესაც სინქრონიზებული (ეს) გამოიყენება, თქვენ უნდა მოერიდოთ სხვა ობიექტების მეთოდების გამოძახების სინქრონიზაციას. დაელოდე () ეუბნება მოწოდებას ძაფი მონიტორის დათმობა და სხვამდე დასაძინებლად წასვლა ძაფი შედის იმავე მონიტორზე და რეკავს შეატყობინეთ (). შეატყობინეთ () იღვიძებს პირველი ძაფი რომ დაურეკა დაელოდე () იმავე ობიექტზე.

გირჩევთ: