多进程 ssh命令 linux创建文件 concurrency Animsition linux内存管理 hadoop入门书籍 spark文档 wordpress本地建站 数据库教程 python文件写入 python中def的用法 python文件操作 python学习文档 python搭建网站 python数字类型 python打开文件夹 java中substring java介绍 java遍历 java多线程处理 linux镜像安装 win7loader pushstate 免费家谱制作软件 亚索刀光 电脑书籍下载 华为动态照片 cf小号 windows游戏编程 edquota 速查表 鼠标速度怎么调 苹果手机怎么看内存 大势至usb控制系统 mysql中文乱码 python游戏ps竖排文字 人马上单天赋 迅雷共享会员 studio3t
当前位置: 首页 > 学习教程  > 编程语言

并发编程大串讲

2020/8/31 12:44:26 文章标签:

并发编程大串讲

操作系统发展史(了解)
多道技术(了解)
进程调度(了解)
	-进程状态:就绪,执行,阻塞
进程三状态(就绪,阻塞,运行)
同步异步 阻塞非阻塞:异步+非阻塞
	-同步是任务提交了,等待执行完成
    -异步是任务提交了,不等待执行完成,我自己去干自己的事,任务完成有回调
    -阻塞:程序运行的状态阻塞(io操作)
    -非阻塞:程序一直在运行的状态
创建进程的两种方式(重点)
	-资源分配的最小单位
    -两种方式
    -windows下开进程,在main函数下
进程join方法
	-等待子进程执行完成,父进程再继续执行
进程间数据相互隔离
	-因为开启一个进程,其实本身就是拉起一个python解释器,把进程跑在里面
僵尸进程与孤儿进程
	-进程死了,还有数据每回收
    -父进程死了,子进程就是孤儿进程
进程对象及其他方法
	-进程id号,父进程id号,关闭进程,查看进程是否存活
守护进程
	-主进程结束,守护进程跟着结束
互斥锁
	-Lock
    -获得锁
    -释放锁
队列介绍
	-进程Queue
    -放值,取值
    -放满了,取没了(阻塞,报错)
IPC机制
	-进程间通信(队列机制)
GIL与普通互斥锁的区别
	-全局解释器锁,垃圾回收线程,不是数据安全的,线程必须拿到GIL锁,才能执行
    -GIL不能保证我们自己的数据安全,自己的数据安全需要自己处理锁
    -io密集型:线程
    -计算密集型:进程
多线程与多进程比较
	-进程是资源分配的最小单位
    -cpu执行(调度)的最小单位
    -每个进程里至少有一条线程
死锁现象
	-A这把锁,连续获得,第二次获得,就会夯住,形成死锁
    -A线程已经获取A锁,等待去获取B锁,但是B锁被B线程获得,B线程在等待A锁
递归锁(可重入锁)
	-同一条线程,可以重复获得这把锁,每获得一次数字加一,只有计数为0,其他线程才能获得
    -解决死锁现象的第二种:A和B是同一把锁
信号量
	-运行多条线程同时修改数据
Event事件
	-发一个信号event.set(),原来在等待的(event.wait())线程会继续执行
线程q
	-三种,先进先出,先进后出,优先级(越小)
池的概念
	-用来做缓冲,不会一次性创建出很多(进程,链接),池子多大,最多就创建多少
线程池
	-类不一样,用法完全一样
    from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor
    pool=ThreadPoolExecutor(5)
    pool.submit(任务).add_done_callback(函数)
    
协程基本原理
	-单线程下实现并发,程序员制造出来的,切换+保存状态
gevent模块
协程实现tcp并发
io模型介绍
阻塞io模型
非阻塞io模型理论
io多路复用
asyncio模块
io模型

本文链接: http://www.dtmao.cc/news_show_150029.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?