من از این برای بررسی چند رشته ای پایتون برای مصاحبه های آینده استفاده کردم. امیدوارم این به شما کمک کند. PS: کمک به حفظ کردن تکراری است – اگر به خاطر نیاورید نمی توانید بفهمید.
شرایطی که باید بدانید
- Thread – دنباله ای از دستورالعمل ها در یک فرآیند که می تواند به طور مستقل اجرا شود.
- فرآیند – نمونهای از برنامهای که بر روی رایانه اجرا میشود و فضای حافظه و منابع خود را محصور میکند.
- مترجم – نرم افزاری که پایتون را می خواند، ترجمه و اجرا می کند. یک مفسر در هر فرآیند پایتون.
- Global Interpreter Lock (GIL) – مکانیزمی که تضمین میکند تنها یک رشته در یک زمان اجرا میشود و موازیسازی را در برنامههای چند رشتهای محدود میکند. یک GIL برای هر مترجم
- CPU bound – عملیاتی که بیشتر کار خود را از طریق CPU انجام می دهند، به عنوان مثال، خرد کردن اعداد، تبدیل داده ها و غیره.
- I/O bound – عملیاتی که داده ها را از طریق دستگاه های ورودی/خروجی می خوانند یا می نویسند، به عنوان مثال، برقراری تماس با یک API، خواندن از روی دیسک و غیره.
- Multithreading – اجرای چندین رشته در یک فرآیند برای موازی کردن یک کار که بهترین استفاده را برای عملیات های I/O محدود می کند. توسط GIL به اجرای یک رشته در یک زمان محدود شده است.
- چند پردازش – استفاده از چندین فرآیند برای انجام یک کار به بهترین وجه برای کارهای محدود به CPU استفاده می شود زیرا پردازش ها توسط GIL محدود شده و می توانند همزمان اجرا شوند. اشتراک گذاری سخته…