JAVA多线程基础

一、进程和线程

  进程:运行中的程序。

  线程:进程的一个实体,一个进程至少有一个线程。

二、并发和并行

  并发:一并发生,侧重于多个事件或者任务同时到来。

  并行:一并执行,侧重于多个事件或者任务同时执行。

三、线程的生命周期

  创建:通过new创建一个线程类的对象

  就绪:通过start0方法开始等待CPU调度

  执行:获得CPU的调度,run方法中的内容开始执行

  阻塞:通过sleep方法、wait方法等,由执行状态失去CPU资源时的状态

  销毁:run方法执行完毕时自动销毁

四、创建线程的方式

  1、继承Thread类

  2、实现Runnable接口

  3、实现Callable接口

  4、从线程池中获取

五、Runnable和Callable的异同点

  相同点

      1、都是通过接口方式实现

      2、都不能通过start方法直接启动

  不同点

      1、Runnable接口规定的是run方法,Callable接口规定的是call方法

      2、Runnable接口无返回值,Callable接口有返回值

      3、Runnable的run方法不能抛出异常,Callable的call可以抛出异常

      4、Callable可以通过Future对象了解任务的执行状况、取消任务、得到任务结果等

    

上一篇:防抖、节流


下一篇:迷宫问题(bfs基础)