Why is it that all threading examples are like:

Code:
Thread tid1 = new Thread(new ThreadStart(thr1.Thread1) );
Notice the function takes NO PARAMETERS !!
I haven't found this useful anywhere

How can you do something like:

Code:
Thread tid1 = new Thread(new ThreadStart(thr1.Thread1("Hi", 23)) );