Concurrency is switching between tasks, you're checking your phone and talking to your friend at the same time. You're not really multitasking; you're just changing your focus fast enough that no one ever notices the difference. That's concurrency with a synchrony where Python's handling the multitasking or you can do it threading where the operating system is handling that multitasking. Both of them have overhead, near one is a silver bolt for performance, but I actually like the gill for this reason. Global interpreter lock, the much aligned thing that stops us from getting free multiprocesses out free parallelism free multiprocessioning with every thread.