以下两行代码都可以正常工作,但它们之间是否存在任何隐含差异?哪一种更好?
Thread t1 = new Thread(aMethod);
Thread t2 = new Thread(new ThreadStart(aMethod));
谢谢。
以下两行代码都可以正常工作,但它们之间是否存在任何隐含差异?哪一种更好?
Thread t1 = new Thread(aMethod);
Thread t2 = new Thread(new ThreadStart(aMethod));
谢谢。
没有区别,这两行是相等的。
C#编译器会将
Thread t1 = new Thread(aMethod);
语句转换为
Thread t2 = new Thread(new ThreadStart(aMethod));
它们其实是一样的,但第二个允许你在线程启动方法中使用额外的参数(使用ParametrizedThreadStart而不是ThreadStart)。
ThreadStart代表在线程上执行的方法,因此这正是相同的事情。