One of the misconceptions that developers say that Python is too slow and python multithreading sucks. Well, it’s not true. Let’s broaden this topic. A lot of pythonists used to say GIL (Global Interpreter Lock) is the cause of the performance of Python. They say it prevents you from running more than one thread at a time. You can’t get the real concurrency feature in Python. Yes, it’s true, but the truth is Multithreading is still perfect. Yeah, there are some exceptions which you have to the lookout for. And depending on the cases, it might need GIL; otherwise, why make your development life harder and burn out. What Gil restricts that two bytecode can’t run parallelly. Threading can allow concurrency and reduces time consumption, increase performance. As I mention here about GIL a lot, but what is it? Well, Gil is a feature of CPython in which the default python manages memory. But Jython and IronPython lack the GIL because it’s an implementation detail of the underlying VM. I tired of it, and here is the result.lol, they don’t have. They handle dynamic memory differently and can safely run the python code in multiple threads simultaneously. And I think Cpython can’t remove the GIL feature too. And what’s the solution to achieve Multithreading. Well, Many python libraries bypass multithreading issues by using C/C++ extensions. i recommend multiprocessing to get the benefits of all the cores. one more thing, GIL is only a problem in a multiprocessor environment.
we can’t conclude that Multithreading can’t be achieved; you can still perform Multithreading in Jython, IronPython, even your default one too. And GIL is a relevant topic, and we will discuss more it and memory management behind the Python interpreter. On the upcoming issue, I will be sharing about the implementation of Multithreading and concurrency in Python. Subscribe to our newsletter, and I will be updating new contents monthly. Thank you.