I have a C# Windows application that does many tasks. some of these tasks are very time wasting. When I run these type of tasks, the other parts of my application will be disabled.
How can I write my application to avoid this? Is using threads a good solution? Is it safe?