并发编程
2021/8/31 20:06:20
本文主要是介绍并发编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录:
基础概念:
一、进程、程序和线程
程序:程序只是一堆代码而已
进程:指的是程序的运行过程,是对正在运行的程序的一个抽象。进程是一个资源单位
线程:每个进程都有一个地址空间,而且默认就有一个控制线程。线程才是cpu上的执行单位。
二、并行与并发
无论是并行还是并发,在用户看来都是'同时'运行的,不管是进程还是线程,都只是一个任务而已,真是干活的是cpu,cpu来做这些任务,而一个cpu同一时刻只能执行一个任务。
并发:是伪并行,即看起来是同时运行。单个cpu+多道技术就可以实现并发,(并行也属于并发)
并行:同时运行,只有具备多个cpu才能实现并行。
三、同步与异步
同步:发出一个功能调用,在没有得到结果之前,该调用就不会返回。
异步:异步功能调用发出后,不会等结果,而是继续往下执行,当该异步功能完成后,通过状态、通知或回调函数来通知调用者。
四、阻塞和非阻塞
阻塞:调用结果返回之前,当前进程会被挂起(如遇到IO操作)。函数只有在得到结果之后才会将阻塞的线程激活。
非阻塞:在不能立即得到结果之前也会立刻返回,同时该函数不会阻塞当前线程。(就绪态,运行态)
异步非阻塞效率更高
多进程
一、进程的3种状态
运行、就绪、阻塞
二、multiprocessing模块介绍
这篇关于并发编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-12百万架构师第十五课:源码分析:Spring 源码分析:SpringMVC核心原理及源码分析|JavaGuide
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide