zoukankan      html  css  js  c++  java
  • JAVA 多线程和并发学习笔记(一)

    一、进程与线程

      1. 进程

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

    • 独立性

        独立存在的实体,每个进程都有自己独立私有的一块内存空间。

    • 动态性

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

    • 并发性

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

      2. 线程

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

      3.线程和进程的区别

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

      4.并发与并行

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

    二、 多线程的优势

      进程之间不能共享内存,但线程之间共享内存。 系统创建进程时需要为该进程重新分配系统资源,但创建线程则代价小很多,效率高。 多线程具有以下优势:

    • 资源利用率更好
    • 程序设计在某些情况下更简单
    • 程序响应更快
  • 相关阅读:
    用mescroll实现无限上拉增加数据,下拉刷新数据 (学习笔记)
    jackson使用问题:mapper.readValue()将JSON字符串转反序列化为对象失败或异常
    常用 NHibernate.Criterion
    Threading
    并口
    电子称 弹钱箱脉冲
    ZIP文件解压
    wpf 异步加载 只需6段代码
    Newtonsoft.Json使用
    接口post +json +bean
  • 原文地址:https://www.cnblogs.com/wisdo/p/5793123.html
Copyright © 2011-2022 走看看