C#-多线程的使用Tread

乎语百科 340 0

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

线程是操作系统分配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#

留言评论

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~