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();
        }
    }
  • 相关阅读:
    【转】Visual studio 快捷键大全
    C++ 中的权限控制
    论C++11 中vector的N种遍历方法
    c++ 模板仿函数初探
    OBS (open boardcast server)结构分析
    OpenCV学习笔记:opencv_core模块
    [转]C++ new操作符详解
    进程已经被attach debug,如何解除其debug权限?
    dll 在进程中怎么区分的
    树状数组学习笔记
  • 原文地址:https://www.cnblogs.com/netlyf/p/4839963.html
Copyright © 2011-2022 走看看