რა განსხვავებაა კორუტინსა და ძაფს შორის?
რა განსხვავებაა კორუტინსა და ძაფს შორის?

ვიდეო: რა განსხვავებაა კორუტინსა და ძაფს შორის?

ვიდეო: რა განსხვავებაა კორუტინსა და ძაფს შორის?
ვიდეო: FANG Interview Question | Process vs Thread 2024, მაისი
Anonim

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

ამ გზით, რა არის კორუტინები, ის გადის სხვადასხვა ძაფზე?

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

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

ასევე იცოდე, რა არის Coroutine, მუშაობს ახალ თემაში?

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

როდის უნდა გამოვიყენო runBlocking?

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

გირჩევთ: