Describe and explain an application with multiple threads.
Why are threads important?
Explain and give an example of concurrency.
What are the similarities and differences between processes and threads?
Investigate why is the use of threads some times necessary in event-driven programming.