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

    多线程、多进程及并发

    这里写图片描述

    进程:

    百科描述:

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

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

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

    1.资源准备

    2.执行

    3.释放资源

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

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

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

    线程:

    百科描述:

    程序执行流的最小单元

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

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

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

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

    并发:

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

    总结:


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


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


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

  • 相关阅读:
    《求医不如求己》1,2,3全集下载(附人体穴位图)
    Lambda 表达式(C# 编程指南)
    .NET生成静态页面的方案总结
    匿名函数(C# 编程指南)
    NameValueCollection详解
    sql数据库压缩的全面解析
    人的一生
    抓取博客园列表数据
    相对论的时空观
    C#中搜索关键词高亮显示
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286721.html
Copyright © 2011-2022 走看看