C#-多线程的使用Tread

首先是概念,什么是线程?线程是操作系统分配CPU时间的基本单元,在一个进程中可以有多个线程同时执行代码 。
谈一谈什么是进程?简单的说,一个正在运行的应用程序可以视为一个进程,进程间相互独立,资源不共享,一个进程的运行失败不会影响另一个进程的运行,一个进程可以启动多个线程 。
进程入口执行的第一个线程被视为主线程 。在.Net应用程序中 , Main方法作为入口函数,被调用时会启动一个主线程 。
在任务管理器中可以看到进程和线程的运行数量

C#-多线程的使用Tread

文章插图
多线程:在宏观角度来看是多个线程并发执行 。从微观角度来看,同一时间只能有一个线程执行 。
线程的创建(Tread)using System.Threading;Thread thread=new Thread(ThreadTest);//创建无参数线程Thread thread2=new Thread(ThreadTest2);//创建有参数线程thread.Start();//启动线程thread2.Start("aaa");//启动有参线程public void ThreadTest(){return;}//注意:参数的类型必须是Object否则无法作为delegate成为Theard的参数public void ThreadTest(Object obj){return;}同一个线程不可以两次调用start,会抛出异常根据线程的生命周期来看,只有New状态的Thread才可以调用Start方法 , 如果已经启动,那么此线程就不是New状态了,而是Running状态
C#-多线程的使用Tread

文章插图
报错提醒:No overload for 'method' matches delegate 'delegate'调用的delegate的参数不是Object类型
【C#-多线程的使用Tread】

    推荐阅读