位置:首页 > 软件编程 > C#笔记
C# 多线程Tread的用法示例
日期:2023-01-04 人气:

大家好,对C# 多线程Tread的用法示例感兴趣的小伙伴,下面一起跟随三零脚本的小编来看看C# 多线程Tread的用法示例的例子吧。

什么是线程?

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

什么是进程?

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

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

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

675

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

线程的创建(Tread)

/**
 * 多线程Tread的用法
 * @arrange (三零脚本) www.q3060.com
 **/
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类型

您可能感兴趣的文章