zoukankan      html  css  js  c++  java
  • C#创建带参数的线程

    1、无参数线程的创建
    Thread thread = new Thread(new ThreadStart(ShowMessage));
    thread.Start();
     private void ShowMessage()
    {
         Console.WriteLine("hello world");
    }
    2、带一个参数的线程
    使用ParameterizedThreadStart,调用 System.Threading.Thread.Start(System.Object) 重载方法时将包含数据的对象传递给线程。
    注意传递的参数只能是object类型,不过可以进行强制类型转换。
    Thread thread = new Thread(new ParameterizedThreadStart(ShowMessage));
    string o = "hello";
    thread.Start((object)o);
    private static void ShowMessage(object message)
    {
         string temp = (string)message;
         Console.WriteLine(message);
    }
    3、带两个及以上参数的线程
    这时候可以将线程执行的方法和参数都封装到一个类里边,通过实例化该类,方法就可以调用属性来尽享传递参数。
    例如如下程序,想传入两个string变量,然后打印输出。
    public class ThreadTest
        {
            private string str1;
            private string str2;
            public ThreadTest(string a, string b)
            {
                str1 = a;
                str2 = b;
            }
            public void ThreadProc()
            {
                Console.WriteLine(str1 + str2);
            }
        }
    public class Example
    {
        public static void Main() 
        {
           ThreadTest tt = new ThreadTest("hello ", "world");
           Thread thread = new Thread(new ThreadStart(tt.ThreadProc));
           thread.Start();
        }
    }
  • 相关阅读:
    Genealogical tree(拓扑结构+邻接表+优先队列)
    确定比赛名次(map+邻接表 邻接表 拓扑结构 队列+邻接表)
    Agri-Net
    Network()
    Conscription
    Matrix(类似kruskal)
    Highways(求最小生成树的最大边)
    Shell学习之Shell特性(一)
    Linux学习之用户管理命令与用户组管理命令(十五)
    Linux学习之用户配置文件详解(十四)
  • 原文地址:https://www.cnblogs.com/netlyf/p/4839963.html
Copyright © 2011-2022 走看看