• 2016-06-27 并发编程


    摘自 深入理解操作系统 CHA 12

    并发是在逻辑控制流上重叠。应用级并发在下列情况下是很有用的:

    1 访问慢速I/O设备。

    2 与人交互

    3 通过推迟工作以降低延迟

    4 服务多个网络客户端

    5 在多核机器上进行并发运算

    使用应用级并发的应用程序称为 并发程序。现代操作系统提供了3种基本的构造并发程序的方法:

    1 进程:此方法,每个逻辑控制流都是一个进程,由内核来调度和维护。进程有自己的虚拟地址空间,若要和其他流进行通信,控制流必须使用IPC(进程间通信)机制。IPC机制有:管道,共享内存,队列,信号量

    2 I/O多路复用:在此并发编程中,应用程序在一个进程的上下文中显式的调度他们自己的逻辑流。逻辑流被转化为状态机,数据到达文件描述符后,主程序显式的从一个状态转换到另一个状态。因为程序是一个单独的进程,所以所有的流都共享同一个地址空间。

    3 线程:线程是运行在一个单一进程上下文中的逻辑流,由内核调度。可以把线程看作其他2中的混合体。像进程流一样由内核进行调度,而像I/O多路复用流一样共享一个虚拟的地址空间。

  • 相关阅读:
    使用反射获取对象的步骤
    金融IT的算法要求
    Java编译与反编译命令记录
    常用搜索博客/网站
    Java核心-03 谈谈final、finally、 finalize有什么不同?
    Java核心-02 Exception和Error有什么区别?
    PHP函数技巧篇
    IO
    Markdown 简单使用教程
    FZu Problem 2233 ~APTX4869 (并查集 + sort)
  • 原文地址:https://www.cnblogs.com/gardenofhu/p/5621698.html
Copyright © 2020-2023  润新知