首先是概念,什么是线程?
线程是操作系统分配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类型
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)