线程的创建的三种方式

  • 继承Java.lang.Thread 类,并覆盖run()方法
    优点:编程稍微简单
    缺点:单继承,无法继承其他类
  • 实现Java.lang.Runnable接口,并实现run()方法
    优点:编程稍微复杂
    缺点:可以继承其他类
    更方便多个线程共享同一个资源
  • 实现Callable接口,并实现call()方法
    有返回值、可抛异常(检查异常和运行时异常)、支持泛型 、JDK1.5之后提供

- 阅读剩余部分 -

一. 进程

  1. 程序(任务)的执行过程 (动态性的),存放在硬盘中的QQ或者某软件并不是进程,可执行文件运行之后才能称之为进程
  2. 进程是资源的载体——持有资源(共享资源、共享文件)和线程

(进程是指一种正在运行的程序,有自己的地址空间)
进程的特点:

  • 动态性 (运行中的程序)
  • 并发性 (很多进程可以同时运行)
  • 独立性 (各个进程之间是相互独立的)

- 阅读剩余部分 -

并发(Concurrency):
实质是:一个物理CPU(也可是多个)在若干道程序或线程之间多路复用
把时间分成很多个时间块

并行(Parallelism):
指两个或以上的事件(或线程)在同一时刻发生,是真正意义上的不同事件或线程在同一时刻,在不同cpu资源上(多核),同时执行。

clipboard.png
并发和并行的区别:
并行:多个CPU同时执行多个任务
并发:一个cpu(采用时间片)同时执行多个任务