队列和栈 进程线程协程 封装特点 可迭代对象 死锁互斥锁

栈:是限制在表的一端进行插入和删除运算的线性表

队列:也是一种运算受限的线性表。它只允许在标的一端进行插入,而在另一端进行删除。

1、进程是资源分配的单位

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

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

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

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

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

所谓封装,就是指隐藏内部的细节,不暴露在外面。

把构造函数里的this改成  _price;

在js里面,实现封装的方法非常简单,只需要在声明属性的时候,添加关键字即可。 一般来讲,对于私有属性,有一个不成文的规定,习惯使用_来命名属性。

封装后的属性(私有属性)对于外部来讲,虽然不可见,但是对于内部来讲,是可见的。

总结:封装后方法可以访问,但是属性信息都为undefined

可迭代对象:可以使用for循环遍历的对象,我们称之为可迭代对象

迭代器:提供数据和记录位置

生成器不是迭代器

在并发程序设计中,死锁是一种十分常见的逻辑错误。通过采用正确的编程方式,死锁的发生不难避免。 

在编程中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容