zoukankan      html  css  js  c++  java
  • 理解并发进程

    顺序程序设计:
    1、执行的顺序性(即一个程序在处理器上是严格按照顺序执行的,每个操作必须在一个操作开始之前结束)。
    2、环境的封闭性(程序运行独占全机资源,注意,是全机资源!后面我们可以看到和并发设计的不同点)。
    3、过程的可再重现性(简单点说就是不管你的计算机配置高还是配置低、什么时候运行、什么地方运行,它输出的结果都是惟一的。这一点当你看到下面的并发进程就会深刻体会到。因为并发程序执行的结果与时间相关)。

    并发程序设计:
    程序并发执行是指一组程序的执行在时间上是重叠的,所谓时间重叠就是一个程序还没运行结束另一个程序就开始执行了,或者说,多个程序处于都已开始执行但都还未执行完成。

    举个例子,A、B分别执行操作a1,a2,a3和b1,b2,b3。在单处理器上,顺序执行操作序列为a1,b1,a2,b2,a3,b3或a1,b1,a2,b2,b3,a3等,则称A和B的执行是并发的。从宏观上来看,并发性反映一个时间段内有几个程序都处于运行但尚未结束的状态。注意:这只是宏观上看来,其实处理器在同一时刻只能处理一个程序,千万不要以为同一时刻处理器在处理多个程(要是有多个处理器那就另当别论了~)。就像你的大脑一样,让你同一时刻算多道运算题,你觉得可能吗。计算机并发地计算多道题目只不过是先计算A题,但是还没执行完,然后又去执行B题,B题还没执行完,下面说不定又去执行A题或者其他的题目。这样在用户看来好像是多个程序在同时执行。当然了这一切的保证是计算机运算速度是相当快的。如果计算机运行的速度非常慢,你会明显感觉到cpu的控制权在各个程序之间来回交替。

  • 相关阅读:
    使用git遇到的一些问题
    小程序的生命周期
    git status -s命令解析
    JavaScript 关闭浏览器窗口
    JavaScript 如何编写计算器
    JavaScript 数组对象的去重
    JavaScript 数组排序(从大到小,从小到大)
    JavaScript 常用的Math对象
    JavaScript 获取 当前日期和三十天以前日期
    JavaScript 获取数组的最大值和最小值
  • 原文地址:https://www.cnblogs.com/lxz6666/p/10720042.html
Copyright © 2011-2022 走看看