What is the difference between Calling a method by one of the three methods ?
I am assuming all the calls will be using a matching delegate under the hood.
(Assuming .NET given your user name...) These three options are different ways to use a delegate.
Creating a new thread doesn't specifically "call a method", but rather starts a new thread using a specified delegate as the method to run within the new thread. This will launch an entire new thread for you, and run your delegate within the separate thread.
Asynchronously calling the delegate via BeginInvoke/EndInvoke is similar, except that it will use the ThreadPool instead of creating a new thread.
Synchronously calling the delegate via Invoke will just call the delegate directly on the currently executing thread. This effectively just calls the method being referenced by the delegate.
BeginInvoke
andEndInvoke
code? Maybe that will be apparent to folks who know about that but it's not to me - Gray 2012-04-05 18:03