JAVA 多线程和并发学习笔记(一)

1、进程与线程编程

  1. 进程多线程

  当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程当中的程序。进程是操做系统进行资源分配和调度的一个独立单位。进程的三个特征:并发

  • 独立性

    独立存在的实体,每一个进程都有本身独立私有的一块内存空间。操作系统

  • 动态性

     程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合。线程

  • 并发性

    多个进程可在单处理器上并发执行。设计

  2. 线程进程

  线程是操做系统可以进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运做单位。线程也被称做轻量级进程。线程在进程中是独立,并发的执行流。内存

  3.线程和进程的区别资源

  线程是进程的组成部分,一个进程能够有不少线程,每条线程并行执行不一样的任务。 不一样的进程使用不一样的内存空间,而线程与父进程的其余线程共享父进程的所拥有的所有资源。这样编程方便了,可是要更加当心。 别把内存空间和栈内存搞混,每一个线程都拥有单独的栈内存用来存储本地数据。线程拥有本身的堆栈、本身的程序计数器和本身的局部变量,但不拥有系统资源。 线程的调度和管理由进程自己负责完成。操做系统对进程进行调度,管理和资源分配。程序设计

  4.并发与并行

  并发是指在同一时间点只能有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具备多个进程同时执行的效果。
并行指在同一时间点,有多条指令在多个处理器上同时执行

2、 多线程的优点

  进程之间不能共享内存,但线程之间共享内存。 系统建立进程时须要为该进程从新分配系统资源,但建立线程则代价小不少,效率高。 多线程具备如下优点:

    • 资源利用率更好
    • 程序设计在某些状况下更简单
    • 程序响应更快
相关文章
相关标签/搜索