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();
        }
    }
  • 相关阅读:
    如何解决移动端滚动穿透问题
    如何在mac中通过命令行使用sublime
    正向代理和反向代理
    UTF8、UTF16、UTF16-LE、UTF16-BE、UTF32都是些什么?
    依赖的版本
    如何移除inline-block元素之间的空白
    如何用JavaScript重定向到另一个网页?
    [读书笔记] 高性能网站建设指南
    java使用jconsole查看java程序运行(jmx原理)
    oracle相关知识点
  • 原文地址:https://www.cnblogs.com/netlyf/p/4839963.html
Copyright © 2011-2022 走看看