C#线程

来源:互联网 发布:网络征婚投资 编辑:程序博客网 时间:2024/05/18 18:16
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("这是第一个线程");        }    }}

0 0