Python库源码学习1:Flask之app.run
先列出app.run()实现的功能,我们以debug=True的情况下进行分析。
1. web服务器,处理http请求
2. 当代码修改后,重启服务器
那么app.run()是如何实现这两个功能的呢?
功能一:http服务器的实现,工作原理:
1. 创建socket,绑定ip和port,监听
2. 当收到请求后,处理请求。请求的处理可以有多种实现方式,比如多进程,多线程,异步等
功能二:代码修改后,重启服务器,实现原理:
需用有一个进程或线程监控代码,如果发现代码修改了,那重启服务器