zoukankan      html  css  js  c++  java
  • 并发编程——练习题

    1、简述计算机操作系统中的“中断”的作用?

    中断机制包括硬件的中断机制和操作系统的中断处理服务程序。

    中断机制由一些特定的寄存器和控制线路组成。中央处理器和外围设备等识别到的事件保存在特定的寄存器中,中央处理器每执行完一条指令均由中断机制判断是否有事件发生。

    若无事件发生,CPU继续执行,若有事件发生,则中断机制中断源占有CPU的程序的执行,让操作系统的处理事件服务程序占用CPU对出现的事件进行处理,事件处理完后,再让原先的程序继续占用CPU执行。

    2、简述计算机内存中的“内核态”和“用户态”;

    内核态:CPU可以访问内存的所有数据,包括外围设备,例如硬盘,网卡。CPU也可以将自己从一个程序切换到另一个程序。

    用户态:只能受限的访问内存却不允许访问外围设备。占用CPU的能力被剥夺,CPU资源可以被其他程序获取。

    那么为什么要有用户态和内核态呢?

    由于需要限制不同的程序之间的访问能力,防止他们获取别的程序的内存数据,或者获取外围设备的数据并发送到网络,CPU划分出两个权限等级就是用户态和内核态。

    3、进程间通信方式有哪些?

    晋城指的是正在执行的一个程序,或者说一个任务,负责执行任务的是CPU。

    进程是用来把资源集中到一起的,是一个资源单位或者说资源集合。

    文件的通信方式有消息队列、管道、信号量、共享内存、套接字。

    4、简述你对管道、队列的理解。

    管道通常指的是无名管道。

    1.它是半双工的。也就是说数据只能在一个方向上流动。具有固定的读端和写端。
    
    2.它只能用于具有亲缘关系的进程和通信,也就是父与子进程或兄弟进程之间。
    
    3.数据不可反复读取及读了之后,缓存区中就没有了。
    

    消息队列。

    1.消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级。
    
    2.消息队列独立于发送与接收进程,进程终止时消息队列及其内容不会被删除。
    
    3.消息队列可以实现消息随机查询。
    

    5、请列举你知道的进程间通信方式。

    队列。

    信号量。

    Event事件。

    定时器timer。

    进程池和线程池。

    异步调用和回调机制。

    6、什么是同步IO什么是异步IO?

    同步io操作指的是实际的io操作将导致请求进程阻塞,直到io操作完成。

    异步io操作指的是实际的io操作不导致请求进程的阻塞。

    同步或异步io主要是指访问数据的机制即实际io操作的完成方式。

    同步。一般指主动请求并等待io操作完毕的方式,io操作未完成前会导致应用进程挂起。

    异步。指的是用户进程触发io操作以后便开始做自己的事情,而当io操作已经完成的时候,会得到io完成的通知。这可以使进程在读取数据时也不会阻塞。

    7、请问multiprocessing模块中的Value、Array类的作用是什么?举例说明它们的使用场景

    Python多进程通信。Queue pipe value Array。

    Queue和pipe用来在进程间传递消息。

    Value+Array是Python中共享内存映射文件的方法,速度比较快。

    8、请问multiprocessing模块中的Manager类的作用是什么?与Value和Array类相比,Manager的优缺点是什么?

    Python multiprocessing manager。

    Python中进程间共享数据除了基本的Queue、Pipe、value、Array外,还提供了更高层次的封装,通过multi processing manager可以简单的使用这些高级接口。

    Manager的优点是可以在进程池中使用,缺点是windows下环境。性能比较差。

  • 相关阅读:
    AVR汇编初探之二《AVR的指令与汇编系统》
    Fedora 18 装完后干的事
    重建tempdb
    sqlserver 2008 r2 SqlClrProvider报错解析
    Analysis Memory In Sqlserver
    《设计模式之禅》学习笔记(七)
    容易弄错的繁体字
    《C Primer Plus》学习笔记
    什么是 Windows 能干而 Linux 干不了的事情
    MySQL中BLOB字段类型介绍
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12337951.html
Copyright © 2011-2022 走看看