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()…
一.内容回顾 并发和并行的区别 并发 宏观上是在同时运行的 微观上是一个一个顺序执行 同一时刻只有一个cpu在工作 并行 微观上就是同时执行的 同一时刻不止有一个cpu在工作 什么是进程 一个运行中的程序就是一个进程 是计算机中最小的资源分配单位 什么是同步 程序顺序执行,多个任务之间串行执行 什么是异步 多个任务同时运行 IO操作 input  输入到内存  read load recv accept recvfrom input output 从内存输出 write dump send co…
Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭锁CountDownLatch 与 栅栏CyclicBarrier 并发编程 05—— Callable和Future 并发编程 06—— CompletionService : Executor 和 BlockingQueue 并发编程 07—— 任务取消 并发编程 08—— 任务取消 之 中断…
python并发编程02 /多进程.进程的创建.进程PID.join方法.进程对象属性.守护进程 目录 python并发编程02 /多进程.进程的创建.进程PID.join方法.进程对象属性.守护进程 1. 进程创建的两种方式 2. 进程PID 3. 进程对象join方法 4. 进程对象其他属性 5. 守护进程 1. 进程创建的两种方式 开启进程的第一种方式 from multiProcessing import Process import time def task(name): print…
在<C++并发编程实战>这本书中第3章主要将的是多线程之间的数据共享同步问题.在多线程之间需要进行数据同步的主要是条件竞争. 1  std::lock_guard<std::mutex> #include <list> #include <mutex> #include <algorithm> std::list<int> some_list; std::mutex some_mutex; void add_to_list(int n…
并发编程 子进程回收的两种方式 join()让主进程等待子进程结束,并回收子进程资源,主进程再结束并回收资源 from multiprocessing import Process import time def task(name): print(f'子进程{name}:starting--') time.sleep(1) print(f'子进程{name}:end--') if __name__ == '__main__': print('进入主进程--') pro_list = [] fo…
本文源码:GitHub·点这里 || GitEE·点这里 一.线程基本机制 1.概念描述 并发编程的特点是:可以将程序划分为多个分离且独立运行的任务,通过线程来驱动这些独立的任务执行,从而提升整体的效率.下面提供一个基础的演示案例. 2.应用案例 场景:假设有一个容器集合,需要拿出容器中的每个元素,进行加工处理,一般情况下直接遍历就好,如果数据偏大,可以根据线程数量对集合切割,每个线程处理一部分数据,这样处理时间就会减少很多. public class ExtendThread01 { publ…
# 网络编程 # arp协议 : # 1.这是一个通过ip找mac地址的协议 # 2.由于有了socket,用户在使用网络的时候,只需要关心对方用户的ip地址就可以了 # 3.如果用户即将和这个ip进行通信,那么还需要知道它的mac地址 # 4.这个时候就需要由你的机器发起一个arp请求 # 5.由交换机进行广播 # 6.对应的机器会回应这个arp请求 # 7.通过交换机单播发给你的机器 # tcp协议和udp协议的特点? # 1.tcp # 面向连接的可靠的流式传输 适合传输比较大的文件, #…
内容回顾 socket 最底层的网络通信 所有的网络通信都是基于socket     进程 什么是进程? 是操作系统的发展过程中,为了提高cpu的利用率,在操作系统同时运行多个程序的时候,为了数据的安全\代码不混乱而创造的一个概念 每一个程序运行起来都至少是一个进程 进程是计算机中最小的资源分配单位 进程被操作系统调度的,有很多相关的算法--早期的操作系统 进程之间是数据隔离的 进程的三状态  就绪  运行  阻塞 同步异步 同步:一个任务的执行依赖另一个事务的结束 join  lock 异步:…
一.内容回顾 线程 锁 为什么有了GIL之后还需要锁 多个线程同时操作全局变量还需要锁 当出现'非原子性操作',例如+= -= *= /= l.append(l) 原子性操作 a += 1  a= a+1 tmp = a +1 a = tmp 死锁现象 什么是死锁现象 两个以上的线程争抢同一把锁 其中一个线程获取到锁之后不释放 另外的其他线程就都被锁住了 比较容易出现问题的情况: 两把锁套在一起用了 死锁现象的本质 :代码逻辑问题 递归锁 一把锁在同一个线程中acquire多次而不被阻塞 如果另…