პითონი კარგია კონკურენტულობისთვის?
პითონი კარგია კონკურენტულობისთვის?

ვიდეო: პითონი კარგია კონკურენტულობისთვის?

ვიდეო: პითონი კარგია კონკურენტულობისთვის?
ვიდეო: How to Deal With Concurrency in Python 2024, ნოემბერი
Anonim

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

ასევე იცოდეთ არის თუ არა პითონი მხარს უჭერს კონკურენტულობას?

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

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

შემდგომში ჩნდება კითხვა, არის თუ არა პითონი კარგი მულტირედინგისთვის?

პითონი არ იძლევა მრავალძაფიანი ამ სიტყვის სრული გაგებით. Მას აქვს მრავალძაფიანი პაკეტი, მაგრამ თუ გინდა მრავალძაფი თქვენი კოდის დასაჩქარებლად, ეს ჩვეულებრივ არ არის კარგი მისი გამოყენების იდეა. პითონი აქვს კონსტრუქცია სახელწოდებით Global Interpreter Lock (GIL).

რომელი მოდულის გამოყენება შეიძლება პითონ 3-ში კონკურენტულობის განსახორციელებლად?

The პარალელურად . ფიუჩერსები მოდული დაემატა პითონი 3.2. მიხედვით პითონი დოკუმენტაცია დეველოპერს უზრუნველჰყოფს მაღალი დონის ინტერფეისს გამოძახების ასინქრონულად შესასრულებლად.

გირჩევთ: