A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柒月份的尾巴丶 中级黑马   /  2016-7-30 00:19  /  326 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.线程概述:
  a.Java的main方法自身就是一个线程
  b.在线程中的代码都是顺序执行
  c.CPU在多个线程之间做着随机切换动作
  d.CPU无论 怎么切换都要把主线程和开辟的线程的run方法中的代码执行完
  e.进程包含线程,一个进程中至少有一个线程
2.线程的创建
  a.实现Runnable接口
    class RunImp  implements Runnable{
            @Override
            public void run(){
          //线程执行的代码
            }
    }

    public static void main(String[] args) {
            RunImp ri=new RunImp();
            Thread thread=new Thread(ri);//new Thread相当于创建一个线程对象
                                         //ri相当于传入线程要执行的代码
            thread.start();//不但开启线程,并且将来要执行run方法中的代码
            thread.run();//仅仅相当于通过对象调方法,而程序中真正执行的只有主线程
    }  

    匿名内部类创建线程:(简单的需求在使用)
     Runnable run=new Runnable(){//即创建了Runnable的子类又创建了该子类的对象
              public void run(){
                      //线程要执行的代码
              }
      };
    new Thread(run).start();

  
  a.继承Thread类:Java只支持继承一旦Demo_02SubThread继承其它类,就无法在继承Thread类
                 这种方式不推荐使用
    public class Demo_02SubThread  extends Thread{
                 private static int tickets = 100;
                public void run(){
                        System.out.println(this.getName()+"继承方式,实现线程");
                }
   }

  public static void main(String[] args) {
                //创建Thread子类对象
                Demo_02SubThread sub = new Demo_02SubThread();
                Demo_02SubThread sub2 = new Demo_02SubThread();
                Demo_02SubThread sub3 = new Demo_02SubThread();
                //子类对象,调用父类方法start
                sub.start();
        }
  
   匿名内部类创建线程:(简单的需求在使用):
     new Thread(){//即创建了Thread的子类又创建了该子类的对象
             public void run(){
                      //线程要执行的代码
              }
     }.start();

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马