首先是概念,什么是线程?线程是操作系统分配CPU时间的基本单元,在一个进程中可以有多个线程同时执行代码 。
谈一谈什么是进程?简单的说,一个正在运行的应用程序可以视为一个进程,进程间相互独立,资源不共享,一个进程的运行失败不会影响另一个进程的运行,一个进程可以启动多个线程 。
进程入口执行的第一个线程被视为主线程 。在.Net应用程序中 , Main方法作为入口函数,被调用时会启动一个主线程 。
在任务管理器中可以看到进程和线程的运行数量
文章插图
多线程:在宏观角度来看是多个线程并发执行 。从微观角度来看,同一时间只能有一个线程执行 。
线程的创建(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状态
文章插图
报错提醒:No overload for 'method' matches delegate 'delegate'调用的delegate的参数不是Object类型
【C#-多线程的使用Tread】
推荐阅读
- 600亿日元等于多少人民币 600日元
- airpods pro续航时间多久_airpods pro续航实测
- 5 Java多线程:CAS
- git 多个commit 如何合并
- 双十一iqooneo5手机能便宜多少_双十一iqooneo5价格
- 红魔手机6SPro多少钱_红魔手机6SPro价格多少
- 【一】ERNIE:飞桨开源开发套件,入门学习,看看行业顶尖持续学习语义理解框架,如何取得世界多个实战的SOTA效果?
- 兰蔻菁纯面霜轻盈型适合多大年纪_兰蔻菁纯面霜轻盈型适合年龄
- 4 Java多线程:ThreadLocal
- SpringCloud怎么迈向云原生?