2011-09-05

 

多线程

一、    程序与进程

1、程序:一段静态的代码。

2、进程:程序的一次动态执行过程,它对应从代码加载、执行到执行完毕的一个完整过程。进程也称任务,支持多个进程同时执行的OS就被称为多进程OS或多任务OS。

3线程:在一个程序内部也可以实现多个任务并发执行,其中每个任务称为线程。线程是比进程更小的执行单位,它是在一个进程中独立的控制流,即程序内部的控制流。

二、    特点

线程不能独立运行,必须依赖于进程,在进程中运行。

每个程序至少有一个线程称为主线程

1、单线程:只有一条线程的进程称为单线程

2、多线程:有不止一个线程的进程称为多线程

三、开启多线程的优点和缺点

1、   提高界面程序响应速度。通过使用线程,可以将需要大量时间完成的流程在后台启动单独的线程完成,提高前台界面的相应速度。

2、         充分利用系统资源,提高效率。通过在一个程序内部同时执行多个流程,可以充分利用CPU等系统资源,从而最大限度的发挥硬件的性能。

3、         当程序中的线程数量比较多时,系统将花费大量的时间进行线程的切换,这反而会降低程序的执行效率。但是,相对于优势来说,劣势还是很有限的,所以现在的项目开发中,多线程编程技术得到了广泛的应用

4、    在一个程序中可以实现多个线程,多线程编程指在同一个程序中启动了两个或两个以上的线程。

四、实例:

public class DemoThread1 extends Thread{

   public DemoThread1(String str){

      super(str);

   }

   public static void main(String[] args){

      DemoThread1 dt=new DemoThread1("线程1");//线程新建状态

      DemoThread1 dt2=new DemoThread1("线程2");

      dt.start();//start()--启动线程--线程就绪状态  dt在就绪队列中等待cpu的空闲

      dt2.start();

      for(int i=0;i<10;i++){

        System.out.println("main:"+1);

        try {

           Thread.sleep(1000);//休眠1秒

        } catch (InterruptedException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

        }

      }

      System.out.println("main结束");

   }

   //线程

   public void run(){

      for(int i=0;i<10;i++){

        System.out.println(this.getName()+":"+i);

     

      try {

        Thread.sleep(1000);

      } catch (InterruptedException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

      }

      }

      System.out.println(this.getName()+"结束");

   }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值