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方法

    多线程的运行状态

     

  • 相关阅读:
    基于Dubbo的压测调优实例
    R语言之Apriori算法应用
    Linux中的用户和组
    R语言中的循环及其扩展:iter和foreach
    R在Windows下连接Oracle数据库
    R语言之机器学习程序包(更新)
    R语言之数据结构
    windows环境下node安装教程(超详细)
    windows环境下elasticsearch安装教程(超详细)
    MongoDB分片介绍
  • 原文地址:https://www.cnblogs.com/chenkuijiang/p/12169255.html
Copyright © 2011-2022 走看看