zoukankan      html  css  js  c++  java
  • c#多线程调用有参数的方法

    将线程要执行的方法参数封装到类里面,通过实例化该类,初始化方法参数,这样就实现多线程用无参的方式调用有参的方法。

    using System;   
    using System.Threading;   
      
    //ThreadWithState 类里包含了将要执行的任务以及执行任务的方法   
    public class ThreadWithState {   
        //要用到的属性,也就是我们要传递的参数   
        private string boilerplate;   
        private int value;   
      
        //包含参数的构造函数   
        public ThreadWithState(string text, int number)    
        {   
            boilerplate = text;   
            value = number;   
        }   
      
        //要丢给线程执行的方法,本处无返回类型就是为了能让ThreadStart来调用   
        public void ThreadProc()    
        {   
            //这里就是要执行的任务,本处只显示一下传入的参数   
             Console.WriteLine(boilerplate, value);    
        }   
    }   
      
    //用来调用上面方法的类,是本例执行的入口   
    public class Example {   
        public static void Main()    
        {   
            //实例化ThreadWithState类,为线程提供参数   
            ThreadWithState tws = new ThreadWithState(   
                "This report displays the number {0}.", 42);   
      
            // 创建执行任务的线程,并执行   
            Thread t = new Thread(new ThreadStart(tws.ThreadProc));   
            t.Start();   
            Console.WriteLine("Main thread does some work, then waits.");   
            t.Join();   
            Console.WriteLine(   
                "Independent task has completed; main thread ends.");     
        }   
    }  
    
  • 相关阅读:
    PAT 05-树7 File Transfer
    PAT 05-树6 Path in a Heap
    PAT 10-2 删除字符串中的子串
    PAT 10-1 在字符串中查找指定字符
    PAT 10-0 说反话
    PAT 08-2 求矩阵的局部最大值
    PAT 07-3 求素数
    PAT 07-2 A+B和C
    PAT 07-0 写出这个数
    PAT 06-3 单词长度
  • 原文地址:https://www.cnblogs.com/tianzhiliang/p/1808556.html
Copyright © 2011-2022 走看看