zoukankan      html  css  js  c++  java
  • Thread理解

    Thread类的构造函数接收ThreadStart 和parameterizedThreadStart 类型的委托参数。

    其中ThreadStart定义了一个无返回类型其无参数的构造方法。如果需要给线程传递数据,除了可以采用parameterizedThreadStart委托参数的Thread构造函数外,还可以创建一个类,把线程的方法定义为实例方法。

    简单的线程
     class Program
        {
            static void Main(string[] args)
            {
                
                Thread t1 = new Thread(ThreadMain);
                t1.Start();

    Console.WriteLine("我是主线程");
    } //无返回值无参数的方法 static void ThreadMain() { Console.WriteLine("开始一个线程"); } }
    使用ParameterizedThreadStart委托参数
    public struct Data {
            public string message;
        }
        class Program
        {
            static void Main(string[] args)
            {
    
                Data data = new Data();
                data.message = "Hello Wrold";
                //
                Thread t2 = new Thread(ThreadMainWithParameters);
                t2.Start(data);
                Console.WriteLine("我是主线程");
                Console.ReadKey();
           
            }
            //必须为void的带object的参数的方法
            static void ThreadMainWithParameters(object o)
            {
    
                Data d = (Data)o;
                Console.WriteLine("开始一个线程,消息为{0}",d.message);
    
            }
        }
     //新建一个类,通过其构造函数传递值
        class MyThread
        {
    
            private string data;
            public MyThread(string data)
            {
    
                this.data = data;
            }
            public void ThreadMain()
            {
    
                Console.WriteLine("{0}",data);
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
    
                MyThread myThread = new MyThread("我的新线程1");
                Thread t3 = new Thread(myThread.ThreadMain);
                t3.Start();
    
                Console.WriteLine("我是主线程");
                Console.ReadKey();
           
            }
           
        }
  • 相关阅读:
    golang实现dns域名解析(一)
    互联网协议入门(一)(转)
    DNS入门(转)
    随笔:Golang 时间Time
    mysql查询某一个字段是否包含中文字符
    screen状态变Attached连接会话失败
    golang :连接数据库闲置断线的问题
    神奇的GO语言:空接口(interface)
    Go语言:变参函数
    go语言:函数参数传递详解
  • 原文地址:https://www.cnblogs.com/myyouthlife/p/2703002.html
Copyright © 2011-2022 走看看