----------------------
ASP.Net+Android+IO开发S、
.Net培训、期待与您交流! ----------------------
进程与线程
一个进程至少有一个线程
同一个进程中有多个线程可以并发执行
每一格进程有一个存储器,线程执行代码。每一个线程有一个寄存器
线程是程序的一个执行流,每个线程都有自己的转悠寄存器(栈指针,程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。
多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程结束执行不同的任务(代码),也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
线程执行时需要代码,所以要产生一个线程,必须先为线程写一个方法。
线程启动时,通过委托调用该方法。
线程启动时,调用传过来的委托,委托就会执行相应的方法,实现线程执行方法。
CPU通过线程代码,也可以说代码被运行时就是一个线程。
默认线程(主线程):UI线程。
为什么用多线程:
让计算机同时做多件事情,节约时间
后台运行程序,,提高程序的运行效率,也不会使主界面出现无响应的情况。
多线程可以让一个程序同时处理多个事情
计算机CPU大部分时间处于空闲状态,浪费了CPU资源。
ThreadStart委托。
创建线程对象,传入要线程执行的方法
using System.Threading;
Thread th
=
new Thread(
方
法);
th.start();
计算时间:
DateTime begin
=DateTime.Now;
TimeSpan end
=begin.Subtract(DateTime.Now);
--现在的时间减去开始的时间,
产生线程的4格步骤:
编写产生线程所要执行的方法
引用System.Threading命名空间
实例化Thread类,并传入一个指向所要运行方法的委托。(这时候线程已经产生,但还未运行)。
调用Thread实例化的Start方法,标记该线程可以被CPU执行了,但具体执行时间由CPU决定,。
前台线程:只有所有的前台线程都关闭才能完成程序关闭(默认为前台线程)
后台线程:只有所有的前台线程结束后,后台线程自动结束。
将线程设置为后台线程:
th.IsBackground
=
true;
启动线程
Start();
终止线程
Abort();
静态方法,可以使当前线程停止一
段时间运行。
Thread.Sleep(
1);
Name:线程名。
获得当前的线程引用
Thread.CurrentThread;
线程执行带参数的方法,方法参数类型为object,th.Start(参数).
--------------------- ASP.Net+Android+IOS开发 、 .Net培训 、期待与您交流! --------------------- - -