zoukankan      html  css  js  c++  java
  • Python并发编程之多进程(理论)

    一、什么是进程

    进程:正在内存中运行的一道程序。

    二、进程与程序的区别

    程序指的是一堆代码,而进程指的是程序运行的过程。

    通一个程序执行两次,就是两道进程。

    三、并发与并行

    并发:伪并行,看起来是同时运行,其实是CPU不断切换的结果。用单个CPU加多道技术就能实现。

    并行:同时运行,CPU的一个核运行一道程序,多核CPU或多个CPU才能实现。

    四、同步异步和阻塞非阻塞(重点)

    同步:在发出一个功能调用时,在没有得到结果之前,该调用就不会返回。换句话说就是由调用者主动等待这个调用的结果。

    异步:和同步相反,调用在发出之后,这个调用就直接返回,不会立刻得到结果,而是等异步功能完成后,被调用者通过状态、通知或回调函数来通知调用者。状态效率低,通知效率高,回调函数和通知没有太多区别。

    阻塞:调用结果返回之前,当前线程会被挂起(IO操作)。调用线程只有在得到结果之后才会返回。和同步不同的是,很多时候同步的当前线程还是激活的,只是从逻辑上当前函数没有返回而已。

    非阻塞:即使没有得到结果,该调用也不会阻塞当前线程。

    小结:同步/异步针对的是函数/任务的调用方式:同步就是当一个进程发起一个函数调用时,一直等到函数完成,但进程还处于激活状态。而异步是当一个进程发起一个函数调用的时候,不会等函数返回,而是去执行下一个任务,函数返回的时候通过状态、通知、回调函数来通知进程完成任务。阻塞和非阻塞是针对进程或线程的,阻塞是当请求不能满足的时候就将进程挂起,非阻塞则不会。

  • 相关阅读:
    修改silverlight DataGrid当前选中行及选中列的背景色
    转 Introduction to SharePoint Feature Stapling – Part 2
    File.ReadAllText方法,File.WriteAllText方法修改文件内容
    用xlst将xml转换html
    简单在线编辑器<转>
    随机数生成
    asp.net 2.0 的代码隐藏
    Microsoft .NET Pet Shop 3.x: .NET Pet Shop 的设计模式与体系结构
    并发术语解释
    如何在Render方法中修改替换HtmlTextWriter中的内容
  • 原文地址:https://www.cnblogs.com/lshedward/p/10250094.html
Copyright © 2011-2022 走看看