进程与线程
一个程序就是一个进程,进程包含线程,多个线程之间可以“并发”执行(确切的说是不停地切换),CPU是跟线程打交道的。
线程是程序的一个执行流,每个线程都有之间专有的寄存器(栈指针、程序计数器等)
,但是代码区是共享的,即不同的线程可以执行同样的函数。
多线程是指程序中包含多个执行流,即在一个程序中,可以同时运行多个不同的线程来执行不同的任务(代码),也就是允许单个程序创建多个并行执行的线程来完成各自的任务。
线程肯定也是要执行一段代码的,所以要城市一个线程,必须先为该线程写一个方法,这个方法的代码就是该线程所要执行的代码。
线程启动时,通过委托调用该方法。
线程启动时,调用传过来的委托,委托就会执行相应的方法,实现线程执行方法。
多线程:
调用Thread实例的Start方法,标记该线程可以被CPU执行了,但具体时间由CPU自己决定。
前台线程:(默认情况下,是前台线程)
只有所有前台线程都关闭才能完成线程的关闭
后台线程:
只要所有的前台线程结束,后台线程自动结束
threadFirst.ISBackGround = true;
//创建线程对象,传入要线程执行的方法
Thread threadfirst = new Thread(CountTime);//委托
//将线程设置为后台线程,当所有前台线程结束,后台线程自动结束。
threadfirst.IsBackground = true;
//启动线程执行方法
threadfirst.Start();