האם Python טוב למקביל?
האם Python טוב למקביל?

וִידֵאוֹ: האם Python טוב למקביל?

וִידֵאוֹ: האם Python טוב למקביל?
וִידֵאוֹ: קורס Python ב-LIVE: שיעור 1 לדוגמא במכללת INT. תהנו! 2024, אַפּרִיל
Anonim

פִּיתוֹן אינו מאוד טוֹב עבור קשור למעבד במקביל תִכנוּת. ה-GIL (במקרים רבים) יגרום לתוכנית שלך לפעול כאילו היא פועלת על ליבה בודדת - או אפילו גרוע מכך. אם האפליקציה שלך קשורה ל-I/O, פִּיתוֹן עשוי להיות פתרון רציני שכן ה-GIL משוחרר בדרך כלל בזמן ביצוע שיחות חסימה.

כמו כן לדעת, האם Python תומך במקביל?

Python כן יש ספריות מובנות עבור הנפוצים ביותר במקביל מבני תכנות - ריבוי עיבודים וריבוי השחלות. הסיבה היא, ריבוי השחלות פנימה פִּיתוֹן הוא לא ממש ריבוי פתילים, בגלל ה-GIL in פִּיתוֹן.

אפשר גם לשאול, מדוע ריבוי שרשורים לא אפשרי בפיתון? מתורגמן CPython (לטהור פִּיתוֹן code) יאלץ את ה-GIL להשתחרר כל הוראות קוד של מאה בתים. זה פשוט מאפשר רק שרשור אחד לרוץ בבת אחת בתוך המתורגמן. אז ריבוי עיבודים לא ריבוי חוטים יאפשר לך להשיג מקבילות אמיתית.

לאחר מכן, השאלה היא האם Python טוב לריבוי הליכים?

פִּיתוֹן לא מאפשר ריבוי השחלות במובן האמיתי של המילה. יש לזה ריבוי השחלות חבילה אבל אם אתה רוצה רב חוטים כדי להאיץ את הקוד שלך, אז זה בדרך כלל לא א טוֹב רעיון להשתמש בו. פִּיתוֹן יש מבנה הנקרא Global Interpreter Lock (GIL).

באיזה מודול ניתן להשתמש כדי ליישם במקביליות ב- Python 3?

ה במקביל . עתידיים מודול התווסף פִּיתוֹן 3.2. על פי פִּיתוֹן תיעוד זה מספק למפתח ממשק ברמה גבוהה לביצוע אסינכרוני של שיחות ניתנות להתקשרות.

מוּמלָץ: