Well, depends how you want to implement this.
As far as i understand, your event will be raised by single thread.
All code written in event handler, will be running on single thread.
But, now you start the multi-threading.
For example, if you read some data from database, let's assume there are 100 entries to analyze, you can start 4 threads, for 25 rows.
for(int i =0;i<4;i++){
int startRow = i * 25;
ThreadPool.QueueUserWorkItem(new WaitCallback((Object n) => {
int row = (Int32)row;
}),startRow);
}
Also, you could use new parallel task library for .Net 4.