主页 > 合作媒体 > python编程环境下的异步执行都有哪些内容

python编程环境下的异步执行都有哪

python编程环境下的异步执行都有哪

同步与异步是我们在学习软件编程开发的时候需要掌握的两种编...

运城软件测试场景分析法的概念与

运城软件测试场景分析法的概念与

场景分析应用是软件测试中使用比较频繁的一种测试分析方法,...

python面向对象编程的一些基础知识

python面向对象编程的一些基础知识

随着互联网的不断发展,越来越多的程序员也都开始接触和学习...

文章正文

python编程环境下的异步执行都有哪些内容
发布时间:2019-10-09 01:10  责任编辑:IT观察  点击量:

同步与异步是我们在学习软件编程开发的时候需要掌握的两种编程方式,而今天我们就通过案例分析来了解一下,python编程环境下的异步执行都有哪些内容。

python编程环境下的异步执行都有哪些内容

Python 的异步执行在 asyncio 标准库发布后变得越来越流行,尽管这与任务调度程序无关,但是了解它的作用和历史是十分重要的。

线程

Python 线程拥有一个很老的历史,尽管它提出了同时运行多条线程的想法,但实际上却无法实现。为什么?因为 CPython 中存在 GIL(Global Interpreter Lock,防止多线程并发执行机器码的全局锁)。除非你的程序有很多外部事件在等待,否则就无法显现出线程的作用。即使你的笔记本电脑拥有多个核心,由于 GIL 的存在,你会发现它们在 CPU 密集型任务上经常处于空闲状态。

异步多重处理

多重处理模块可以很��ջ�好地解决现成的一些缺陷。有一点很容易理解,GIL 只适用于线程,而不适用于进程,这种特性为实现并行性提供了很好的思路。

Multiprocessing 多处理通常也适用于 CPU 的密集型任务,因为我们可以使用所有的可用内核。当设计多处理程序时,往往会出现多个进程共享同一个队列,并且每一个进程都能读取任务并用于下次的执行加载。

Celery 的任务调度

与 Linux Crontab 不同的是,Celery 在默认的情况下不会安排在特定时间执行某个任务。Celery 使用自己的 Celery Beat 来支持作业调度。那么当任务执行失败时怎么样呢?当特定任务失败时,可以将 Celery 设置为重试状态直到发生特定的异常,或者通过设置 max_retries 参数,在启用之前重试 N 次。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。

上一篇:没有了
下一篇:没有了

今日焦点

专栏评论

新闻图片