آیا پایتون برای همزمانی خوب است؟
آیا پایتون برای همزمانی خوب است؟

تصویری: آیا پایتون برای همزمانی خوب است؟

تصویری: آیا پایتون برای همزمانی خوب است؟
تصویری: کاربردهای زبان پایتون 2024, نوامبر
Anonim

پایتون خیلی نیست خوب برای متصل به CPU هم زمان برنامه نويسي. GIL (در بسیاری از موارد) برنامه شما را طوری اجرا می کند که گویی روی یک هسته اجرا می شود - یا حتی بدتر. اگر برنامه شما I/O-Bound است، پایتون ممکن است یک راه حل جدی باشد زیرا GIL به طور معمول هنگام مسدود کردن تماس ها آزاد می شود.

همچنین باید بدانید که آیا پایتون از همزمانی پشتیبانی می کند؟

پایتون انجام می دهد دارای کتابخانه های داخلی برای رایج ترین هم زمان سازه های برنامه نویسی - چند پردازشی و چند رشته ای. دلیل آن، چند رشته ای شدن است پایتون واقعا چند رشته ای نیست، به دلیل GIL در پایتون.

همچنین ممکن است سوال شود که چرا multithreading در پایتون امکان پذیر نیست؟ مفسر CPython (برای خالص پایتون کد) GIL را مجبور می کند که هر صد بایت دستورالعمل کد منتشر شود. به سادگی فقط به یک رشته اجازه می دهد تا در یک مفسر اجرا شود. بنابراین چند پردازشی چند رشته ای نیست به شما امکان می دهد به همزمانی واقعی برسید.

پس از آن، سوال این است که آیا پایتون برای چند رشته ای خوب است؟

پایتون اجازه نمی دهد چند رشته ای به معنای واقعی کلمه آن دارد یک چند رشته ای بسته اما اگر بخواهید چند رشته ای برای سرعت بخشیدن به کد خود، پس معمولاً این نیست خوب ایده استفاده از آن پایتون ساختاری به نام قفل مترجم جهانی (GIL) دارد.

از کدام ماژول می توان برای پیاده سازی همزمانی در پایتون 3 استفاده کرد؟

را هم زمان . آینده مدول اضافه شد پایتون 3.2. بر اساس پایتون مستندات، یک رابط سطح بالا برای اجرای ناهمزمان فراخوان ها در اختیار توسعه دهنده قرار می دهد.

توصیه شده: