قفل مفسر سراسری

یک قفل مفسر سراسری (GIL) مکانیزمی است که برای همگام سازی اجرای ریسه‌ها در مفسر زبان‌های برنامه‌نویسی مورد استفاده قرار می‌گیرد به طوری که تنها یک ریسه می‌تواند در یک زمان اجرا شود. یک مفسر که همیشه از GIL استفاده می‌کند فقط قادر به یک اجرای یک ریسه در یک زمان است حتی اگر اجرا بر روی یک پردازنده چند هسته ای انجام شود. برخی از مفسرهای محبوب که از GIL استفاده می‌کند عبارت‌اند از: CPython و Ruby MRI.

مفاهیم فنی 
قفل مفسر سراسری (GIL) یک قفل انحصار متقابل که توسط مفسر ریسه ناامن یک زبان برنامه‌نویسی برای جلوگیری از به اشتراک گذاری کد ما بین دیگر ریسه‌ها است. در پیاده‌سازی با GIL، همیشه برای یک ریسه یک GIL در نظر گرفته می‌شود.

برنامه‌های کاربردی در حال اجرا که از GIL بهره می‌برند می‌توانند با استفاده از فرایندهای جداگانه به رایانش موازی دست یابند و هر فرایند مفسر خود و هر مفسر GIL خود را دارا استد در غیر این صورت GIL می‌تواند مانع قابل توجهی برای رایانش موازی باشد.

اشکالات 
استفاده از قفل مفسر سراسری در یک زبان به‌طور مؤثر میزان راینش موازی را از طریق هم‌روندی یک پردازنده با چندین ریسه محدود می‌کنید.

دلایل به کارگیری یک قفل عبارتند از:
 افزایش سرعت برنامه‌های تک‌روندی (بدون ضرورت به دست آوردن و یا آزادسازی قفل در تمام ساختارهای داده ای جداگانه)
 ادغام سازی آسانِ کتابخانه‌های C که معمولاً روندهای ناامن دارند
 سهولت پیاده‌سازی

مثال 
در زبان‌های زیر به صورت گسترده از GIL استفاده شده‌است:

جستارهای وابسته 
 ریسه‌های سبز
 قفل بزرگ

منابع 

پایتون (زبان برنامه‌نویسی)
کنترل همروندی