Invoking Method Asyncronously C# with Example



Invoking Method Asyncronously C# with Example

 using System;
using System.Threading;

namespace CSharpMultiThreading
{
    public delegate int Addition(int x, int y);

    class InvokingMethodAsyncronously
    {
      static void Main(string[] args)
      {
		// Print out the ID of the executing thread.
		Console.WriteLine("Main() invoked on thread {0}.",Thread.CurrentThread.ManagedThreadId);

		// Invoke Add() on a secondary thread.
		Addition b = new Addition(Add);
		IAsyncResult iftAR = b.BeginInvoke(10, 10, null, null);

		// Do other work on primary thread...
		Console.WriteLine("Doing more work in Main()!");

		// Obtain the result of the Add() method when ready.
		int answer = b.EndInvoke(iftAR);
		Console.WriteLine("10 + 10 is {0}.", answer);
      }

      static int Add(int x, int y)
      {
        // Print out the ID of the executing thread.
        Console.WriteLine("Add() invoked on thread {0}.",Thread.CurrentThread.ManagedThreadId);

        // Pause to simulate a lengthy operation.
        Thread.Sleep(5000);
        return x + y;
      }
    }
}
 

0 Comment's

Comment Form

Submit Comment