Junior — Middle
რა ძირითადი მეთოდები გამოიყენება Object კლასში ნაკადებთან და სინქრონიზაციასთან მუშაობისთვის?
sobes.tech AI
პასუხი AI-სგან
Java-ში, Object კლასი უზრუნველყოფს რამდენიმე მეთოდს, რომლებიც ხშირად გამოიყენება თრიდებთან და სინქრონიზაციასთან მუშაობისას:
-
wait()— აძლევს მიმდინარე თრიდს საშუალებას დაელოდოს, სანამ სხვა თრიდი არ გამოიძახებსnotify()ანnotifyAll()იმავე ობიექტზე. გამოიყენება გარკვეული მდგომარეობის მოლოდინის ორგანიზებისთვის. -
notify()— იღვიძებს ერთ თრიდს, რომელიც ელოდება ამ ობიექტზე. -
notifyAll()— იღვიძებს ყველა თრიდს, რომელიც ელოდება ამ ობიექტზე.
ამ მეთოდებს უნდა იძახოთ სინქრონიზებულ ბლოკში ან მეთოდში, წინააღმდეგ შემთხვევაში გამოიწვევს IllegalMonitorStateException-ს.
გამოყენების მაგალითი:
synchronized (sharedObject) {
while (!condition) {
sharedObject.wait();
}
// მოქმედებები პირობის შესრულების შემდეგ
}
// სხვა თრიდში
synchronized (sharedObject) {
// მდგომარეობის ცვლილება
sharedObject.notify();
}