315道面试题【93-104】

13、简述 进程、线程、协程的区别 以及应用场景?

进程拥有自己的堆和栈,既不共享堆也不共享栈 进程由操作系统调度
线程拥有自己的堆和共享的栈 共享栈 但不共享堆 线程也是由操作系统调度
协程和线程一样有自己的堆和共享的栈 共享栈但不共享堆 协程由开发人员在适当情况调用

14、GIL锁是什么鬼?

GIL:全局解释器锁。当我们用多线程的时候,每一个进程中只有一个GIL锁,那么这多个线程中谁拿到GIL锁,谁即可以用cpu(ps:多个进程有多个Gil锁,但每个进程中只有一个GIL)

15、Python中如何使用线程池和进程池?

进程池:使用multiprocessing.Pool
线程池:使用ThreadPool模块

16、threading.local的作用?

threadLocal解决了参数在一个线程中各个函数之间相互传递的问题
一个threadLocal变量虽然是全局变量,但每个线程都只能读写自己线程的独立副本 互不干扰

17、进程之间如何进行通信?

创建一个queue队列,或使用 from multiprocessing import Manage管理要进行通信的数据

18、什么是并发和并行?

字面理解
并行:好比百米赛跑 枪声一响 运动员都一起向前冲运动员就好比程序 这个过程是并行
并发:是指两个或多个事件在同一时间间隔发生。

19、进程锁和线程锁的作用?

当多进程或多线程是不用进程访问相同一个变量是会造成同一时间执行相同的事 而得不到正确的结果 所以需要用锁锁上这个全局变量,当某一个进程或线程访问时其他进程或线程均无法访问

20、解释什么是异步非阻塞?

异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位。
非阻塞模式是指利用socket事件的消息机制,Server端与Client端之间的通信处于异步状态。

21、路由器和交换机的区别?

路由器是将信息通过ip转发 交换机是将数据传给下一个

22、什么是域名解析?

域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务

23、如何修改本地hosts文件?

记事本打开C:\Windows\System32\drivers\etc下的hosts文件进行修改

扫描二维码关注公众号,回复: 2088431 查看本文章

24、生产者消费者模型应用场景及优势?

应用于一个生产数据一个处理数据的场景
优势生产者和消费者之间不直接进行通信 而是通过一个队列相当于一个缓冲区,平衡了生产者和消费者的处理能力

猜你喜欢

转载自blog.csdn.net/qq_37275405/article/details/80991707
今日推荐