打开网易新闻 查看精彩图片

Flask是一个轻量级流行的可定制web框架。我们来做一个最简单的web,打出一段文字。

最简单的web服务

打开网易新闻 查看精彩图片

行2:导入库文件;行4:设置一个实例;行6-8:网页上显示一段文字;行10:实例运行。

打开网易新闻 查看精彩图片

和之前的程序略有不同,执行后,结果不在终端显示内容。提供了一个网址,供程序使用,点击蓝色的网址。

打开网易新闻 查看精彩图片

打开默认浏览器,Flask在本地建立了一个可供访问的服务端口,显示的内容就是我们在代码实例中返回的字符串。

打开网易新闻 查看精彩图片

如果要结束运行,仅仅是关闭刚才浏览器打开的页面是关不掉的,我依照提示黄字,按Ctrl+C,并没有结束掉,只能按了左边红色的方块按钮,来结束掉程序的运行。

同步

打开网易新闻 查看精彩图片

我们通过添加time库,来模拟程序执行某些代码占用的时间,上列传入了10,在执行返回字符串前,会等待10秒钟后,才执行。

打开网易新闻 查看精彩图片

在点击蓝色链接后,打开浏览器,会发现标签的左上角,网址左边,会有一个转圈圈的图标,和我们平时链接某些网页,打开迟钝一样。等待10秒钟后,网页打开,显示正常。

异步

打开网易新闻 查看精彩图片

我们添加上ThreadPoolExecutor线程库(行3),创建一个线程实例(行5),参数2,代表可以同时运行两个线程,把延迟时间函数代入执行线程(行14)。

打开网易新闻 查看精彩图片

在浏览器打开的页面,就没有了等待的图标,而是秒打开。

打开网易新闻 查看精彩图片

线程库,同时对延迟时间和返回字符串做了处理,因为CPU处理的速度极快,我们就没有感觉到两者之间的差异,但是从终端结果窗口,还是能够感觉得到的!

打开网易新闻 查看精彩图片

同步可以简单的理解为顺序执行,异步,就是几个要执行的代码同时执行。

PS:本文代码基于Windows 10,Python 3.10.4。

打开网易新闻 查看精彩图片