She asked me to describe at least 2 or 3 different ways to create multi-threaded applications in C#.
Explicit use of Thread class
Software Concept,
Thread-pool
Task Parallel Library
Action class with lambda functions
BeginInvoke
BackgroundWorker
SerialPort.DataReceived
You may also wish to talk about methods for creating re-entrant code.
Monitor.Wait and Monitor.Pulse
ManualResetEvent
static classes/methods