星期天作业(五道题)

1、队列和栈有什么特点:

*队列先进先出,栈先进后出

*从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同

2、谈谈进程、线程、协程:

*进程是资源分配的单位

*线程是操作系统调度的单位

*进程切换需要的资源很最大,效率很低

*线程切换需要的资源一般,效率一般(不考虑GIL)

*协程切换任务资源很小,效率高

*多进程、多线程根据cpu核数不一样可能是并行的,但是协程是在一个线程中 所以是并发

3、面向对象的封装有什么特点:

把抽象的数据和对数据进行的操作封装在一起,将属性和方法封装到一个抽象的类中

数据被保存在内部,程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行操作。外界使用类创建对象,然后让对象调用方法

通过在实例上调用方法,我们就直接操作了对象内部的数据,但无需知道方法内部的实现细节。对象方法的细节都被封装在类的内部

4、什么叫可迭代对象?迭代器?生成器是迭代器吗?

*把可以通过for...in...这类语句迭代读取一条数据供我们使用的对象称之为可迭代对象(Iterable)**。

可以使用 isinstance() 判断一个对象是否是 Iterable 对象

*一个实现了__iter__方法和__next__方法的对象,就是迭代器。

生成器是一类特殊的迭代器。但不是所有的迭代器都是是,生成器。

5、什么叫死锁、互斥锁

*死锁,就是当多个进程或者线程在执行的过程中,因争夺共享资源而造成的一种互相等待的现象,一旦产生了死锁,不加人工处理,程序会一直等待下去,这也被称为死锁进程。

*互斥锁:只有当一个进程在进行资源的时候,进行上锁,可以保护资源,只有当他运行玩的时候,才会进行解锁。对数据的保护

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python之进程、线程与协程 有这么个例子说他们的区别,帮助理解很有用。 有一个老板想开一个工厂生产手机。 他需...
    道无虚阅读 3,219评论 0 3
  • 必备的理论基础 1.操作系统作用: 隐藏丑陋复杂的硬件接口,提供良好的抽象接口。 管理调度进程,并将多个进程对硬件...
    drfung阅读 3,595评论 0 5
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,427评论 0 4
  • 系统编程:多任务编程 1. 线程: 可以理解成执行代码的分支,线程是执行对应的代码的 1.1 线程的工作原理: ...
    梦醒家先生阅读 1,012评论 2 0
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 2,978评论 0 9