shilvyan  

进程与线程

一个程序就是一个进程,进程包含线程,多个线程之间可以“并发”执行(确切的说是不停地切换),CPU是跟线程打交道的。

 

线程是程序的一个执行流,每个线程都有之间专有的寄存器(栈指针、程序计数器等)

 

,但是代码区是共享的,即不同的线程可以执行同样的函数。

 

多线程是指程序中包含多个执行流,即在一个程序中,可以同时运行多个不同的线程来执行不同的任务(代码),也就是允许单个程序创建多个并行执行的线程来完成各自的任务。

 

线程肯定也是要执行一段代码的,所以要城市一个线程,必须先为该线程写一个方法,这个方法的代码就是该线程所要执行的代码。

 

线程启动时,通过委托调用该方法。

 

线程启动时,调用传过来的委托,委托就会执行相应的方法,实现线程执行方法。

 

多线程:

调用Thread实例的Start方法,标记该线程可以被CPU执行了,但具体时间由CPU自己决定。

 

前台线程:(默认情况下,是前台线程)

只有所有前台线程都关闭才能完成线程的关闭

 

后台线程:

只要所有的前台线程结束,后台线程自动结束

threadFirst.ISBackGround = true;

 

//创建线程对象,传入要线程执行的方法

            Thread threadfirst = new Thread(CountTime);//委托

            //将线程设置为后台线程,当所有前台线程结束,后台线程自动结束。

            threadfirst.IsBackground = true;

            //启动线程执行方法

            threadfirst.Start();

posted on 2014-04-25 11:06  shilvyan  阅读(182)  评论(0编辑  收藏  举报