zoukankan      html  css  js  c++  java
  • java 多线程 快速入门

    ------------恢复内容开始------------

    java 多线程 快速入门

    1. 进程和线程

      什么是进程?

        进程是正在运行的程序它是线程的集合

        进程中一定有一个主线程

        一个操作系统可以有多个线程

       什么是线程?

        线程就是独立的运行一条执行路径

        一个独立的执行单元 , 一个执行流程

      为什么要使用多线程?

        多线程提高程序效率 , 使用多线程 , 每个线程互补影响

    2.创建线程的方式有哪些  

      1.使用继承 Thread类方式

        如下示例

        

        

        结果

        

         1.继承 Thread 类

         class CreateThread_1 extends Thread { /*......*/}

         2.重写方法 run()

         public void run()  {/*......*/}

         3.创建对象

         CreateThread_1  t1 = new CreateThread_1 ()

         4.启动线程

         ti.start()

         注意 : 如果 是直接 调用 run() 方法的话  它还是 单线程  会 按顺序向下执行  

         直接调用  run()  方法  的话  也就是一个普通方法

            结果会是 

         

      2.使用实现 Runnable 接口

         如下示例

         

     

         结果

         

         1.实现Runnable接口

         class CreateThread_2 implements Runnable {/*.....*/}

         2.实现  run()  方法

         public void run() {/*.....*/}

         2.启动线程

         // 创建对象

         CreateThread_2 t1 = new CreateThread_2();

         Thread thread = new Thread(t1);

         // 调用 start() 方法 启动线程

         thread.start();

         注意 :  Runnable  接口 没有 start()方法

         所以我们要用到 Thread 类 的  start()  方法

        

      3.Callable 内部匿名创建

         如下示例

         匿名  Thread 类

         

         示例  2

         

           

     

         结果

         

          匿名内部 创建多线程 比 Thread 类  和 Runnable 接口 更 灵活

    多线程常用 api  方法

      start()        启动线程

      getId()       获取当前线程 id  编号 从0 开始

      getName()      获取当前线程名称

      例如:

        

      

      sleep(1000)    休眠  1 秒

      stop()       停止线程 

      currentThread()  获取当前线程对象

      (Thread.currentThread().getId()    获取当前线程  id) 

      Thread(String name)分配一个新的 Thread 对象 并且定义名称

      例如 

      

    多线程有几种状态

       1.新建

        new Thread();

      2.准备

        调用 start () 方法时 不会马上执行  

      3.运行

        Cpu 开始执行 run 时

      4.休眠

        调用sleep()方法

        或者 wait()方法

      5.停止(死亡)

        Run 方发执行完毕或者调用 stop()方法

         

      流程图

      

      

    join ()方法

      作用  :  先让别的线程先执行 ( 在当前线程 , 当前线程 让出  )

      示例:  让子线程先执行

      

      结果

      

    总结 :

    进程是正在运行的程序,它是线程的集合

    线程就是在独立运行一条执行路径

    多线程 就是为了提高程序的效率

    进程是线程集合

    线程是进程一条执行路径

    Thread 类创建线程

    Runnable 接口创建线程

    匿名内部创建线程

    多线程的常用api方法

    多线程的运行状态

     

    ------------恢复内容结束------------

    java 多线程 快速入门

    1. 进程和线程

      什么是进程?

        进程是正在运行的程序它是线程的集合

        进程中一定有一个主线程

        一个操作系统可以有多个线程

       什么是线程?

        线程就是独立的运行一条执行路径

        一个独立的执行单元 , 一个执行流程

      为什么要使用多线程?

        多线程提高程序效率 , 使用多线程 , 每个线程互补影响

    2.创建线程的方式有哪些  

      1.使用继承 Thread类方式

        如下示例

        

        

        结果

        

         1.继承 Thread 类

         class CreateThread_1 extends Thread { /*......*/}

         2.重写方法 run()

         public void run()  {/*......*/}

         3.创建对象

         CreateThread_1  t1 = new CreateThread_1 ()

         4.启动线程

         ti.start()

         注意 : 如果 是直接 调用 run() 方法的话  它还是 单线程  会 按顺序向下执行  

         直接调用  run()  方法  的话  也就是一个普通方法

            结果会是 

         

      2.使用实现 Runnable 接口

         如下示例

         

     

         结果

         

         1.实现Runnable接口

         class CreateThread_2 implements Runnable {/*.....*/}

         2.实现  run()  方法

         public void run() {/*.....*/}

         2.启动线程

         // 创建对象

         CreateThread_2 t1 = new CreateThread_2();

         Thread thread = new Thread(t1);

         // 调用 start() 方法 启动线程

         thread.start();

         注意 :  Runnable  接口 没有 start()方法

         所以我们要用到 Thread 类 的  start()  方法

        

      3.Callable 内部匿名创建

         如下示例

         匿名  Thread 类

         

         示例  2

         

           

     

         结果

         

          匿名内部 创建多线程 比 Thread 类  和 Runnable 接口 更 灵活

    多线程常用 api  方法

      start()        启动线程

      getId()       获取当前线程 id  编号 从0 开始

      getName()      获取当前线程名称

      例如:

        

      

      sleep(1000)    休眠  1 秒

      stop()       停止线程 

      currentThread()  获取当前线程对象

      (Thread.currentThread().getId()    获取当前线程  id) 

      Thread(String name)分配一个新的 Thread 对象 并且定义名称

      例如 

      

    多线程有几种状态

       1.新建

        new Thread();

      2.准备

        调用 start () 方法时 不会马上执行  

      3.运行

        Cpu 开始执行 run 时

      4.休眠

        调用sleep()方法

        或者 wait()方法

      5.停止(死亡)

        Run 方发执行完毕或者调用 stop()方法

         

      流程图

      

      

    join ()方法

      作用  :  先让别的线程先执行 ( 在当前线程 , 当前线程 让出  )

      示例:  让子线程先执行

      

      结果

      

    总结 :

    进程是正在运行的程序,它是线程的集合

    线程就是在独立运行一条执行路径

    多线程 就是为了提高程序的效率

    进程是线程集合

    线程是进程一条执行路径

    Thread 类创建线程

    Runnable 接口创建线程

    匿名内部创建线程

    多线程的常用api方法

    多线程的运行状态

     

  • 相关阅读:
    POJ 3253 Fence Repair
    POJ 2431 Expedition
    NYOJ 269 VF
    NYOJ 456 邮票分你一半
    划分数问题 DP
    HDU 1253 胜利大逃亡
    NYOJ 294 Bot Trust
    NYOJ 36 最长公共子序列
    HDU 1555 How many days?
    01背包 (大数据)
  • 原文地址:https://www.cnblogs.com/chenkuijiang/p/12169255.html
Copyright © 2011-2022 走看看