WEB开发网
开发学院软件开发C语言 异步调用与线程(总结篇) 阅读

异步调用与线程(总结篇)

 2010-09-30 21:07:06 来源:WEB开发网   
核心提示: privatevoidbutton1_Click(objectsender,EventArgse){//添加当前主线程名称“main”Thread.CurrentThread.Name="main";//使用线程池ThreadPool创建线程Threa

    private void button1_Click(object sender, EventArgs e)
        {
           //添加当前主线程名称“main”
            Thread.CurrentThread.Name = "main";
           //使用线程池ThreadPool创建线程
            ThreadPool.QueueUserWorkItem(Add);            
           Debug.WriteLine(Thread.CurrentThread.Name);
        }
    //这里加obj参数是为了适应委托格式 public delegate void WaitCallback(object state)
    //包含回调方法要使用的信息的对象。
         void Add(object obj)
        {
            for (int i = 0; i < 100000; i++)
            {
              //输出当前执行操作的现场
                Debug.WriteLine(Thread.CurrentThread.Name+i);
            }
        }

可以同样用委托再委托的方法 调用带有参数(或没有任何参数)的方法      

private void button1_Click(object sender, EventArgs e)
        {
            //添加当前主线程名称“main”
            Thread.CurrentThread.Name = "main";
            //使用线程池ThreadPool创建线程
            ThreadPool.QueueUserWorkItem(delegate { Add(333, 44); }, "111");            
            Debug.WriteLine(Thread.CurrentThread.Name);
        }

        void Add(object obj,int q)
        {
            for (int i = 0; i < q; i++)
            {
                //输出当前执行操作的现场
                Debug.WriteLine(Thread.CurrentThread.Name+i);
            }
        }

上一页  1 2 3 4 5 6 

Tags:异步 调用 线程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接