黑马程序员--线程

来源:互联网 发布:docking station知乎 编辑:程序博客网 时间:2024/05/21 00:19

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------

 

一个进程至少一个线程。

同一个进程中多个线程之间可以“并发”执行(这里并不是真正的并发,而是cpu在来回的切换,只是切换的太快了,让你以为是在并发)。

 

进程包含有存储器、动态堆、静态数据与程序代码。

线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。

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

 

创建多线程

//创建线程对象 传入要线程执行的方法            Thread threadFirst = new Thread(CountTime);           //将线程设置为后台线程            threadFirst.IsBackground = true;            //启动线程执行方法            threadFirst.Start();

产生一个线程的4步骤:

1)编写产生线程所要执行的方法;
2)引用System.Threading的命名空间;

3)实例化Thread类,并传入一个指向线程所要运行的方法的委托(这时候线程已经产生,但还没有运行);

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

 

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

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

 

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------