首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
day40 Pyhton 并发编程03
】的更多相关文章
day40 Pyhton 并发编程03
一.内容回顾 进程是计算机中最小的资源分配单位 进程与进程之间数据隔离,执行过程异步 为什么会出现进程的概念? 为了合理利用cpu,提高用户体验 多个进程是可以同时利用多个cpu的,可以实现并行的效果 僵尸进程 进程 状态码 z/z 僵尸进程 linux 在主进程中控制子进程的方法 子进程对象 = Process (target,args) 在创建的这一刻根本就没有通知操作系统 子进程对象. start() 通知操作系统,开启子进程,异步非阻塞 子进程对象.terminate() 通知操…
Python并发编程03 /僵孤进程,孤儿进程、进程互斥锁,进程队列、进程之间的通信
Python并发编程03 /僵孤进程,孤儿进程.进程互斥锁,进程队列.进程之间的通信 目录 Python并发编程03 /僵孤进程,孤儿进程.进程互斥锁,进程队列.进程之间的通信 1. 僵尸进程/孤儿进程 1. 僵尸进程 2. 孤儿进程 2. 进程互斥锁 3. 进程队列 4. 进程之间的通信 1. 僵尸进程/孤儿进程 1. 僵尸进程 定义:僵尸进程是当子进程比父进程先结束,而父进程又没有利用wait/waitpid回收子进程.释放子进程占用的资源,此时子进程将成为一个僵尸进程 主进程与子进程之间的…
day38 Pyhton 并发编程
# 网络编程 # arp协议 : # 1.这是一个通过ip找mac地址的协议 # 2.由于有了socket,用户在使用网络的时候,只需要关心对方用户的ip地址就可以了 # 3.如果用户即将和这个ip进行通信,那么还需要知道它的mac地址 # 4.这个时候就需要由你的机器发起一个arp请求 # 5.由交换机进行广播 # 6.对应的机器会回应这个arp请求 # 7.通过交换机单播发给你的机器 # tcp协议和udp协议的特点? # 1.tcp # 面向连接的可靠的流式传输 适合传输比较大的文件, #…
day36 Pyhton 网络编程03
一.内容回顾 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Unix,而Unix/Linux基本哲学之一就是"一切皆文件",对于文件用[打开][读写][关闭]模式来操作.socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO.打开.关闭) socket和file的区别: fil…
day41 Pyhton 并发编程04
内容回顾 socket 最底层的网络通信 所有的网络通信都是基于socket 进程 什么是进程? 是操作系统的发展过程中,为了提高cpu的利用率,在操作系统同时运行多个程序的时候,为了数据的安全\代码不混乱而创造的一个概念 每一个程序运行起来都至少是一个进程 进程是计算机中最小的资源分配单位 进程被操作系统调度的,有很多相关的算法--早期的操作系统 进程之间是数据隔离的 进程的三状态 就绪 运行 阻塞 同步异步 同步:一个任务的执行依赖另一个事务的结束 join lock 异步:…
Java并发编程(03):多线程并发访问,同步控制
本文源码:GitHub·点这里 || GitEE·点这里 一.并发问题 多线程学习的时候,要面对的第一个复杂问题就是,并发模式下变量的访问,如果不理清楚内在流程和原因,经常会出现这样一个问题:线程处理后的变量值不是自己想要的,可能还会一脸懵的说:这不合逻辑吧? 1.成员变量访问 多个线程访问类的成员变量,可能会带来各种问题. public class AccessVar01 { public static void main(String[] args) { Var01Test var01Tes…
day43 Pyhton 并发编程06
一.内容回顾 线程 锁 为什么有了GIL之后还需要锁 多个线程同时操作全局变量还需要锁 当出现'非原子性操作',例如+= -= *= /= l.append(l) 原子性操作 a += 1 a= a+1 tmp = a +1 a = tmp 死锁现象 什么是死锁现象 两个以上的线程争抢同一把锁 其中一个线程获取到锁之后不释放 另外的其他线程就都被锁住了 比较容易出现问题的情况: 两把锁套在一起用了 死锁现象的本质 :代码逻辑问题 递归锁 一把锁在同一个线程中acquire多次而不被阻塞 如果另…
day42 Pyhton 并发编程05
一.内容回顾 # 线程 # 正常的编程界: # 进程 # 计算机中最小的资源分配单位 # 数据隔离 # 进程可以独立存在 # 创建与销毁 还有切换 都慢 给操作系统压力大 # 线程 # 计算机中能被CPU调度的最小单位 # 同一个进程中的多个线程资源共享 # 线程必须依赖进程存在 # 创建与销毁 还有切换 都比进程快很多 # Cpython解释器下 # GIL 全局解释器锁 # 保证了同一时刻下只有一个线程可以被CPU操作 # threading模块 # 创建子线程 Thread类 # star…
day39 Pyhton 并发编程02 后
一.开启子进程的另一种方式 import os from multiprocessing import Process class MyProcess(Process): def __init__(self,参数): super().__init__() self.一个属性 = 参数 def run(self): print('子进程中要执行的代码') if __name__ == '__main__': conn = '一个链接' mp = MyProcess(conn) mp.start()…
day39 Pyhton 并发编程02
一.内容回顾 并发和并行的区别 并发 宏观上是在同时运行的 微观上是一个一个顺序执行 同一时刻只有一个cpu在工作 并行 微观上就是同时执行的 同一时刻不止有一个cpu在工作 什么是进程 一个运行中的程序就是一个进程 是计算机中最小的资源分配单位 什么是同步 程序顺序执行,多个任务之间串行执行 什么是异步 多个任务同时运行 IO操作 input 输入到内存 read load recv accept recvfrom input output 从内存输出 write dump send co…