背景: 后端 python (更新中...)
一.进程间通信方式
五种:
1.管道
2.命名管道
3.共享内存
4.信号量
5.消息队列
二.进程和线程的区别:
1.进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位
2.内存分配 系统为每个进程分配内存,而线程之间是共享内存的
3.开销 每个进程有自己的内存空间,进程之间切换时开销大,线程共享内存
4.包含关系 没有线程的进程可以看做单线程,如果有多个线程,则该进程有多条线执行,线程是进程的一部分
三.死锁条件:
1.互斥条件 资源不能被进程共享
2.请求与保持条件 已经得到资源的进程可以再次申请新的资源
3.非剥夺条件 已经分配的资源不能被强制剥夺
4.循环等待条件 系统中若干进程组成环路,环路中每个进程都在等待相邻进程正占用的资源
四.预防死锁:
破坏条件
五.python 垃圾回收机制
引用计数为主 分代回收为辅 空间换时间
引用计数: 当对象被创建 被引用或者被作为参数传递时 或传入容器中,引用计数加一
当对象被显式销毁(del) 或对象引用名被赋予新的对象 或一个对象离开作用域 或该元素从容器中删除或容器被销毁时 引用计数减一
分代回收: 将内存分为三代,0 1 2 对应三个链表,他们的垃圾回收频率随对象的存活时间增大而减小,新创建的对象都会被分配在年轻代,当年轻代链表的总数达到上限时,python垃圾回收机制会被触发,把可以回收的对象回收掉,不可以回收的对象移到中年代,以此类推
六.三次握手四次挥手
七.在地址栏输入www.baidu.com 到页面显示发生了什么
其他.
session和cookie的联系与区别
nginx proxy_pass配置