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();
        }
    }
  • 相关阅读:
    java基础 01
    c++11——模板的细节改进
    c++11——auto,decltype类型推导
    poj_1182 并查集
    poj_1988 并查集
    poj_1161 并查集
    poj_3067 树状数组
    poj_2182 线段树/树状数组
    poj_1190 树状数组
    动态规划
  • 原文地址:https://www.cnblogs.com/netlyf/p/4839963.html
Copyright © 2011-2022 走看看