C#-多线程的使用Thread

首先是概念,什么是线程?

线程是操作系统分配CPU时间的基本单元,在一个进程中可以有多个线程同时执行代码。

谈一谈什么是进程?

简单的说,一个正在运行的应用程序可以视为一个进程,进程间相互独立,资源不共享,一个进程的运行失败不会影响另一个进程的运行,一个进程可以启动多个线程。

进程入口执行的第一个线程被视为主线程。在.Net应用程序中,Main方法作为入口函数,被调用时会启动一个主线程。

在任务管理器中可以看到进程和线程的运行数量

 

 多线程:在宏观角度来看是多个线程并发执行。从微观角度来看,同一时间只能有一个线程执行。

线程的创建(Thread)

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状态

 

 

报错提醒:No overload for 'method' matches delegate 'delegate'

调用的delegate的参数不是Object类型

posted @ 2022-10-28 11:03  派大没有星  阅读(258)  评论(0编辑  收藏  举报