• 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();
           
            }
           
        }
  • 相关阅读:
    分析Ajax并爬取微博列表
    链表01
    Install ping command from ubuntu docker
    In container,I can't use man
    centos install glances
    centos 服务器命令下安装GUI
    firefox浏览器配置
    xshell替代产品
    Linux下将一个文件压缩分包成多个小文件
    Linux生成大文件
  • 原文地址:https://www.cnblogs.com/myyouthlife/p/2703002.html
Copyright © 2020-2023  润新知