How do I properly close a C# application that has created multiple threads?

Viewed 8759

I am writing a GUI application.

The application is opening multiple threads during it's life time. One of the threads is handling events that can come from other applications, so it is waiting in a while(true) loop for the event which is never been terminated.

The user can close the application in any minute. I want to close all the threads that the main application had opened.

I am using Process.GetCurrentProcess().Kill(); to deal with this problem at the moment.

Is this a good solution? If not, why and what is the proper way to deal with this problem, how to close all threads that were opened by the main application?

8 Answers
Related