C#中可以通过委托的beginInvoker方法实现异步(这个实现过程是不是在内存中开辟一个新线程?),而用Thread类也可以实现多线程同时运行。这两种方法有什么区别吗?