Diferença entre delegate.BeginInvoke e usando threads ThreadPool em c #
Em C # há alguma diferença entre usar um delegado para fazer algum trabalho de forma assíncrona (chamando BeginInvoke ()) e usando um thread ThreadPool como mostrado abaixo
<code>public void asynchronousWork(object num) { //asynchronous work to be done Console.WriteLine(num); } public void test() { Action<object> myCustomDelegate = this.asynchronousWork; int x = 7; //Using Delegate myCustomDelegate.BeginInvoke(7, null, null); //Using Threadpool ThreadPool.QueueUserWorkItem(new WaitCallback(asynchronousWork), 7); Thread.Sleep(2000); } </code>
Editar:
BeginInvoke garante que um thread do pool de threads é usado para executar o código assíncrono, portanto há alguma diferença?