title: What's the point of multithreading in Python if the GIL exists?
body: <p>From what I understand, the GIL makes it impossible to have threads that harness a core each individually. </p>
  
  <p>This is a basic question, but, what is then the point of the <code>threading</code> library? It seems useless if the threaded code has equivalent speed to a normal program.</p>