Python非阻塞编程与基于事件的处理
发布时间
阅读量:
阅读量
1、异步编程
[1] 同步和异步描述的是进程/线程的调用方式
同步和异步
同步调用是指线程在启动后一直等待返回后再继续执行后续步骤,并不意味着CPU在此期间也会持续等待资源或指令的完成。实际上,在这段时间里,并非总是如此;通常情况下,操作系统的管理可能会切换到其他线程以处理任务或资源分配。因此,在同步调用返回之前的操作系统可能会暂时离开当前的主程序去处理其他请求或任务。
异步操作不会停止反向流程,在发起相关操作之后会持续进行后续步骤,在完成所有操作并进行返回处理时会通过特定机制或方法传递结果信息
解释和说明
我们需要注意同步与异步过程中的函数返回情况,并明确其含义即内核进程将数据复制至调用进程的位置。在顺序式编程模式下,默认情况下所有操作均为同步执行,在前一步骤完成后才会开始处理下一步骤。而异步模式下当出现需要等待的操作时会继续往下执行相应的操作,并将在请求返回结果后进行后续处理。
构建一个基于多线程或多进程机制的网络爬虫系统,并将其部署至高负载场景中进行测试
而异步编程常被应用于上述场景中采用切换任务的手段以尽量减少闲置时间。当遇到等待的请求时会跳过直接执行下一个请求等到所有相关任务都完成后再返回处理该请求。
[2] 同步和异步编程模型解释及其图示说明
单线程的同步模型
在一个同一时间仅
全部评论 (0)
还没有任何评论哟~
