
We learned about multi threaded programming in C#. we understood that every program is actually a process which contains threads. there are foreign threads and background threads. there should be at least one foreign thread running in order to keep the process alive. in console application, our program runs in the main thread, which of course is a foreign thread. we can create our own customized threads and start them using the Start command. we saw ThreadStart delegate which does not contain any parameters, and ParameterizedThreadStart delegate which contains an object parameter. we saw we can Abort a thread, and we can also Join a thread to wait for its execution to be completed.
More topics covered:
- Context switch
- Thread.Sleep, Thread.Yield
- Thread.ManagedThreadId
- Storing threads in a List<Thread>
- ThreadPool concept
Links:

