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();
        }
    }
  • 相关阅读:
    内网穿透访问Vue项目的时候出现Invalid Host header解决办法
    Java中的super关键字
    java中的Arrays工具类及排序和查找
    Java中方法的覆盖/重写
    java中的数组
    java的内部类概述
    matlab主成分分析PCA
    matlab多元线性回归
    matlab神经网络工具箱
    神经网络(三):前馈神经网络(FNN)
  • 原文地址:https://www.cnblogs.com/netlyf/p/4839963.html
Copyright © 2011-2022 走看看