• 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();
           
            }
           
        }
  • 相关阅读:
    Apache+Tomcat+Mysql+php整合jsp,php
    mysql数据类型详析(转)
    有向图(拓扑排序算法)
    FLEX获取GET数据
    Flex对象与组件的数据 双向绑定
    D3D学习摘记(I)中
    [转贴]深入理解Javascript闭包
    一个相当愚蠢的概念错误
    近日小记
    D3D学习摘记(I)上
  • 原文地址:https://www.cnblogs.com/myyouthlife/p/2703002.html
Copyright © 2020-2023  润新知