• 【深入Java基础】多线程、多进程及并发


    多线程、多进程及并发

    这里写图片描述

    进程:

    百科描述:

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

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

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

    1.资源准备

    2.执行

    3.释放资源

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

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

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

    线程:

    百科描述:

    程序执行流的最小单元

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

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

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

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

    并发:

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

    总结:


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


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


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

  • 相关阅读:
    MFC中添加自己定义的消息
    动态创建的list control添加消息响应
    关于CString的奇怪问题
    如何去掉按钮在输入焦点切换时所产生的闪烁
    wince中将自己的应用程序编译到内核并开机启动的一种方法
    wince下圆角矩形按钮的实现
    关于error C2471:无法更新程序数据库的错误的解决方法
    关于烧写开机logo之后导致无法启动系统的问题
    利用IdHTTP进行多线程下载
    TEdit 控件的提示,就像 IE7 的地址输入栏一样
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286721.html
Copyright © 2020-2023  润新知