【python面试指北】4.操作系统

linux命令

  • man,cmd --help
  • 多用

线程和进程

对比

  • 进程是对运行时程序的封装,是系统资源调度和分配的基本单位
  • 线程是进程的子任务,CPU调度和分配的基本单位,实现进程内并发
  • 一个进程可以包含多个线程,线程依赖进程存在,并共享进程内存

线程安全

  • 一个操作可以在多线程环境中安全使用,获取正确的结果
  • 线程安全的操作好比线程是顺序执行而不是并发执行的(i+=1)
  • 一般如果涉及到写操作需要考虑如何让多个线程安全访问数据

线程同步

进程间通信的方式

共享内存,信号量,套接字

Python中如何使用多线程

threading, start, join

Python中如何使用多进程

multiprocessing

内存管理

python的垃圾回收机制原理

  • 引用技术为主(缺点:循环引用无法解决)
  • 引入标记清除和分代回收解决引用计数的问题
  • 引用计数为主+标记清除和分代回收为辅

引用计数:

a = None, del a, 离开对象的作用域等等,减少引用计数

getrefcount(a)

【python面试指北】4.操作系统_第1张图片

循环引用:两个对象互相引用之后引用计数无法归零

标记清除,从根对象找到所有可达的点,不可达的清除掉

分代回收,三代,每隔一段时间,分别对每一代进行标记回收
gc.get_threshold()

你可能感兴趣的:(【python面试指北】4.操作系统)