zoukankan      html  css  js  c++  java
  • 【深入Java基础】多线程、多进程及并发

    多线程、多进程及并发

    这里写图片描述

    进程:

    百科描述:

    进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

    实际上一个进程就是指一段程序的执行过程,是一个动态的过程,相对的程序是指一个静态的东西。一个程序开始运行,则是一个进程;没有运行或者运行结束,它就是一个程序。

    一个进程的执行需要三步:

    1.资源准备

    2.执行

    3.释放资源

    资源包括CPU及其他运行时需要的资源,例如某个文件,某个设备等等。只有当所有资源就绪准备就绪时(外设除外,用到时才去申请资源),程序才能运行。

    进程是CPU资源分配的最小单位。即一个进程负责的是程序运行的资源管理以及CPU的调度,是一个整体。

    电脑都是多线程的,否则只能运行一个程序。每打开的一个程序都是一个进程。

    线程:

    百科描述:

    程序执行流的最小单元

    线程是CPU调度的最小单位。进程包括CPU的调度和资源管理,所以线程是进程的一部分。一个进程可以有多个线程。

    线程只负责CPU的调度,不负责资源管理。

    多线程中所使用的资源都是由进程提供,所有线程共享进程内的资源,所以在多线程中要对数据进行同步。

    进程是为了运行程序,则线程是为了更高效的运行程序。因为线程不需要管理资源,所以新开线程的效率会比新建进程的效率高很多。

    并发:

    并发 ≠ 多线程。多线程是完成任务的一种方法;并发是系统的一种状态。所以有高并发系统一说,没有多线程系统一说。通过多线程有助于系统承受高并发状态的实现

    总结:


    进程和线程都是一个时间段的描述,只不过线程比进程划分的更细。


    进程需要准备资源以及调度CPU,线程只负责调度CPU。


    进程是cpu资源分配的最小单位,线程是cpu调度的最小单位。

  • 相关阅读:
    hutool 解析 Excel
    上传文件
    Cannot construct instance of `com.**` (although at least one Creator exists)
    Java8之Optional
    java8之Stream
    java8之Lambda
    springboot+mybatis事务管理
    queryWrapper in like
    Java 组装 Tree
    JWT
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286721.html
Copyright © 2011-2022 走看看