java 多线程 快速入门

Posted chenkuijiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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方法

多线程的运行状态

 

 

以上是关于java 多线程 快速入门的主要内容,如果未能解决你的问题,请参考以下文章

java多线程快速入门

java多线程快速入门

java多线程快速入门

java多线程快速入门

java多线程快速入门

java多线程快速入门(二十)