Jelaskan Latar belakang teknis dari Global interpreter lock

GIL merupakan kunci ataupun mutex yang dimiliki oleh utas (thread) bahasa pemrograman berbasis penerjemahan yang dimaksudkan untuk menghindari akses kode ilegal atas data yang berasal dari utas lainnya. Dalam implementasinya, sebuah program penerjemah memiliki satu GIL untuk setiap satu sesi penerjemahan.

Aplikasi yang berjalan dalam implementasi penerjemahan yang memiliki GIL sebaiknya memanfaatkan mekanisme process (komputasi) untuk memungkinkan pemanfaatan kapabilitas multi prosesor secara penuh, dan tidak melalui pemanfaatan utas (thread). Dengan demikian, setiap proses akan memiliki satu sesi penerjemahan dan satu GIL yang tidak terkait antara satu dengan lainnya, tidak pula berbagi data antara masing-masing proses-nya. Apabila dikehendaki mekanisme berbagi data global, maka hal tersebut bisa dilakukan dengan memanfaatkan aplikasi caching external seperti memcached, redis atau lainnya.