My Main Class Async Call back : Thread Sync : Thread C# Source Code


Custom Search

C# Source Code » Thread » Thread Sync »

 

My Main Class Async Call back









    

/*
 * C# Programmers Pocket Consultant
 * Author: Gregory S. MacBeth
 * Email: gmacbeth@comporium.net
 * Create Date: June 27, 2003
 * Last Modified Date:
 * Version: 1
 */
using System;
using System.Threading;
using System.Runtime.Remoting.Messaging;

namespace Client.Chapter_15___Threading
{
  public class MyMainClassAsyncCallback
  {
    delegate int MyDelegate(string s, ref int a, ref int b);
    static void Main(string[] args)
    {
      MyDelegate X = new MyDelegate(DoSomething);
      int a = 0;
      int b = 0;

      //Making Async Call that calls a callback when finished
      AsyncCallback cb = new AsyncCallback(DoSomething2);
      IAsyncResult ar = X.BeginInvoke("Hello", ref a, ref b, cb, null);

      Console.ReadLine();
    }
    //My Async Method
    static int DoSomething(string s, ref int a, ref int b)
    {
      a = 10;
      b = 100;
      Console.WriteLine("Fired! DoSomething1");
      return 0;
    }
    //Mycallback method when finished running DoSomehting
    static void DoSomething2(IAsyncResult ar)
    {
      int a = 0;
      int b = 0;

      Console.WriteLine("Fired! DoSomething2");

      //Get the delegate
      MyDelegate X = (MyDelegate)((AsyncResult)ar).AsyncDelegate;

      //get results
      X.EndInvoke(ref a, ref b, ar);
      Console.WriteLine(a);
      Console.WriteLine(b);
    }
  }

}

           
       
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo Thread
» Thread Sync