zoukankan      html  css  js  c++  java
  • 异步调用

    因为程序运行速度比较慢,所以要把长时间运行的代码进行异步处理。所以做了一个如下的测试:

    Using directives

    namespace testASycCall
    {
        
    public delegate void AsyncCaller();
        
    class Program
        
    {
            
    void Call0()
            
    {
                Console.WriteLine(
    "Call0:Begin");
                System.Threading.Thread.Sleep(
    2000);
                Console.WriteLine(
    "Call0:End");
            }


            
    void Call1()
            
    {
                Console.WriteLine(
    "Call1:Begin");
                System.Threading.Thread.Sleep(
    2000);
                Console.WriteLine(
    "Call1:End");
            }



            
    static void Main(string[] args)
            
    {
                Program p 
    = new Program();
                Console.WriteLine(
    "ready async call0");
                AsyncCaller ac 
    = new AsyncCaller(p.Call0);
                Console.WriteLine(
    "invoke async call0");
                IAsyncResult ar 
    = ac.BeginInvoke(nullnull);
                Console.WriteLine(
    "call call1");
                p.Call1();
                Console.WriteLine(
    "call1 end");
                Console.WriteLine(
    "wait call 0 end");
                ar.AsyncWaitHandle.WaitOne();
                Console.WriteLine(
    "call 0 end");
            }

        }

    }


    程序运行结果如下:

    ready async call0
    invoke async call0
    call call1
    Call0:Begin
    Call1:Begin
    Call0:End
    Call1:End
    call1 end
    wait call 0 end
    call 0 end

    看起来并行的还比较明显!

    相同的例子在MSDN上面也有,如果你机器上装了MSDN的话,可以到这里看到原文。不过俺的例子好像比它的更明显些

  • 相关阅读:
    ThinkPhp学习11
    ThinkPhp学习10
    1.自我介绍
    Axure高级教程--在原型中插入视频
    Axure制作iphone手机交互模型—覆盖切换
    对产品的一些总结
    详解Axure的Masters功能
    详解使用Axure 制作Tab切换功能
    产品经理的初识
    作为产品经理--如何写好PRD文档
  • 原文地址:https://www.cnblogs.com/BigTall/p/63945.html
Copyright © 2011-2022 走看看