zoukankan      html  css  js  c++  java
  • 1.初探

    1.线程需要通过委托去开启。

     private static void Main(string[] args)
            {
                //通过委托开启线程
                Func<int, string, int> a = Test;
                //开启新的线程去执行a所引用的函数
                //IAsyncResult 取得当前线程状态
                IAsyncResult ar = a.BeginInvoke(100, "maning", null, null);
    
                //可以认为线程是同时执行的(异步执行)
                Console.WriteLine("main");
                while(ar.IsCompleted == false)
                {
                    Console.Write(".");
                    Thread.Sleep(10);
                }
                int res = a.EndInvoke(ar);
                Console.WriteLine(res);

           bool isEnd = ar.AsyncWaitHandle.WaitOne(1000);//等待1000毫秒,1000毫秒结束,返回true,没结束返回false
                if(isEnd)
                {
                    int res = a.EndInvoke(ar);
                    Console.WriteLine(res);
                }
                Console.ReadKey(); Console.ReadKey(); }
    private static int Test(int i, string name) { Console.WriteLine("Test" + i + " " + name); //当前线程暂停100ms Thread.Sleep(100); return 100; }
    IAsyncResult ar = a.BeginInvoke(100, "maning", null, null);
    ar储存当前线程运行状态


    int res = a.EndInvoke(ar);
    res 取得当前线程运行结果。

    Thread.Sleep(100)当前线程暂停100ms
    ar.AsyncWaitHandle.WaitOne(1000)
    
    
    等待1000毫秒,1000毫秒结束,返回true,没结束返回false,只会等待1000ms。如果执行700ms,等待700ms,若超过1000ms,只会等待1000ms。
     
    
    
    
  • 相关阅读:
    C#实现简单的委托异步调用
    jquery each遍历节点使用
    js操作document文档元素 节点交换交换
    js闭包使用
    .net下各个数据类型所占用的字节
    html file控件选择文件后立即预览 js实现
    叉积运用-判断凸多边形
    高精度算法-大数加法
    Dfs学习经验(纸上运行理解DFS)【两道题】
    a标签点击后更改颜色
  • 原文地址:https://www.cnblogs.com/Vincente/p/6912703.html
Copyright © 2011-2022 走看看