C#线程

using System;
using System.Threading;
namespace test
{
    public class ThreadWork
    {
        public static void DoWork()        //创建一个函数类似于DWORD Thread1Proc(LPVOID lpParameter);
        {
            for (int i = 0; i < 3; i++)
            {
                Console.WriteLine("working thread---");
                Thread.Sleep(1000);   //线程睡眠100ms
            }
        }
    }
    class ThreadTest
    {
        public static void Main()
        {
            Console.WriteLine("Main Start--");
            ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
            Thread myThread = new Thread(myThreadDelegate); //相当于HThread hThread=CreateThread(NULL,0,Thread1Proc,NULL,0,NULL);
            myThread.Start();//启动线程
            for (int i = 0; i < 3; i++)
            {
                Console.WriteLine("In main");
                Thread.Sleep(100);   //主线程睡眠100ms
            }
            myThread.Join();      //如果线程没有完成则无限阻塞直至完成
            Console.WriteLine("Main Join");
        }
    }
}
//上述代码可以改写成下面的代码
using System;
using System.Threading;
namespace test
{
    public class ThreadWork
    {
        public static void DoWork()        //创建一个函数类似于DWORD Thread1Proc(LPVOID lpParameter);
        {
            for (int i = 0; i < 3; i++)
            {
                Console.WriteLine("working thread---");
                Thread.Sleep(1000);   //线程睡眠100ms
            }
        }
    }
    class ThreadTest
    {
        public static void Main()
        {
           
            Thread myThread = new Thread(ThreadWork.DoWork); //相当于HThread hThread=CreateThread(NULL,0,Thread1Proc,NULL,0,NULL);
            myThread.Start();//启动线程
            Console.WriteLine("这是第一个线程");
        }
    }
}

原文地址:https://www.cnblogs.com/zztong/p/6695206.html