Use async job to compute : Asynchronous « Thread « C# / CSharp Tutorial






using System;
using System.Threading;

public class MainClass
{
    // Declare the delegate for the async call.
    private delegate Decimal Compute( int year );

    // The method that computes the taxes.
    private static Decimal DecimalCompute( int year ) {
        Console.WriteLine( "Computing taxes in thread {0}", Thread.CurrentThread.GetHashCode() );

        Thread.Sleep( 6000 );

        return 4.9M;
    }

    static void Main() {
        Compute work = new Compute(DecimalCompute );
        IAsyncResult pendingOp = work.BeginInvoke( 2004, null, null );


        Thread.Sleep( 3000 );

        Console.WriteLine( "Waiting for operation to complete." );
        Decimal result = work.EndInvoke( pendingOp );

        Console.WriteLine( "Taxes owed: {0}", result );
    }
}
Computing taxes in thread 3
Waiting for operation to complete.
Taxes owed: 4.9








20.23.Asynchronous
20.23.1.Asynchronous Calls: IAsyncResult
20.23.2.Async Method
20.23.3.Asynchronous Calls with Return Values
20.23.4.Use async job to compute
20.23.5.Pass delegate to deal with the IAsyncResult
20.23.6.Call asynchronously
20.23.7.Use AsyncCallback
20.23.8.Async Delegate
20.23.9.Asynchronous Invocation Of Delegates
20.23.10.Async Callback Delegate
20.23.11.Asynchronous Results Pattern Example
20.23.12.AsyncCallback and file viewer
20.23.13.Asynchronous Writing, Asynchronous Reading