Concurrency
When you’re developing applications you sometimes might want to do multiple things at the same time. For example, while you do some kind of batch processing in the background, your GUI should still respond. You can do this using threads. Threads a lightweight processes that run concurrently. Threads can be…