黑马程序员--多线程原理基础笔记(九)

----------------------  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培训 、期待与您交流! --------------------- - -
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值