多线程基本知识

  1.什么是线程。

线程,有时候称为轻量级进程。是程序最小的执行单元。一个标准的线程是由线程ID,当前指令指针(PC),寄存器集合和堆栈组成,另外线程是进程中的一个实体,是被系统调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一进程中的多个线程可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也就有了就续丶阻塞和运行的三种状态。每个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流。在单个程序中运行多个线程完成不同的工作,称为多线程。

  2.多线程好处。

          提高应用程序的响应。这对图形界面的程序有意义,当一个操作需要长时间,整个系统都会等待这个操作,此时键盘,鼠标菜单操作都不会响应。

      并行操作时,如C/S贺构的服务器端并发线程响应用户请求。

      多CPU系统中,使用线程提高CPU利用率。

     改善程序结构,一个既长又复杂的进程可以考虑为多个线程,成为几个独立或半独立的运行部分,这样的程序利于理解和修改。

     3.线程的分类。   

        前台线程:应用程序必须运行完所有前台线程才可以退出。

      后台线程:应用程序可以不考虑运行是否完毕而直接退出所有的后台线程在应用程序退出时都会自动结束。

       .net环境下默认创建的线程为前台线程。IsBackgroud=false;



  下面用单线程会发生的情况

   这个时候点击了button1的时候,其他地方就不能操作了。  必须等处理完成才可以操作。比如移动窗口。。

  private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 999999999; i++)
            {


            }
            MessageBox.Show("好久加载完成");
        }

使用多线程:  程序就不会出现等待的情况了

   private void button2_Click(object sender, EventArgs e)
        {
            Thread ts = new Thread(Test);
            //启动线程 执行方法
            ts.Start();
        }
        void Test()
        {
            for (int i = 0; i < 999999999; i++)
            {

            }
            MessageBox.Show("好久加载完成");
        }




   



      

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值