با استفاده از این 30 سوال، Multithreading را در پایتون مانند یک حرفه ای یاد بگیرید

من از این برای بررسی چند رشته ای پایتون برای مصاحبه های آینده استفاده کردم. امیدوارم این به شما کمک کند. PS: کمک به حفظ کردن تکراری است – اگر به خاطر نیاورید نمی توانید بفهمید.

شرایطی که باید بدانید

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