多进程模块: multiprocessing Process 1 如何开启多进程及多进程相关常用方法 并行: 并发: 早期单核cpu时候,没有并行的概念,只有并发(微观上串行,宏观上并行) 同步 异步 阻塞 非阻塞 ...
分类:
系统相关 时间:
2020-04-28 23:22:03
阅读次数:
70
[TOC] 参考博客:https://www.cnblogs.com/linhaifeng/articles/7454717.html 一 IO模型 1.1 网络IO模型有很多,它们都是为了解决一个问题: 减少IO等待时间,提高计算机效率 应用程序遇到IO操作,会阻塞在原地等待,这样降低了计算机的执 ...
分类:
其他好文 时间:
2020-04-28 20:22:41
阅读次数:
63
IO模型简介 """ 我们这里研究的IO模型都是针对网络IO的 Stevens在文章中一共比较了五种IO Model: * blocking IO 阻塞IO * nonblocking IO 非阻塞IO * IO multiplexing IO多路复用 * signal driven IO 信号驱动 ...
分类:
其他好文 时间:
2020-04-28 16:50:26
阅读次数:
53
死锁与递归锁(了解) 当你知道锁的使用抢锁必须要释放锁,其实你在操作锁的时候也极其容易产生死锁现象(整个程序卡死 阻塞) from threading import Thread, Lock import time mutexA = Lock() mutexB = Lock() # 类只要加括号多次 ...
分类:
其他好文 时间:
2020-04-28 10:04:47
阅读次数:
53
"并发编程扩展知识" 死锁与递归锁(了解) 锁的使用要先抢锁后释放锁,但在操作锁的时候也极其容易产生死锁现象(整个程序卡死 阻塞) 递归锁(了解) 信号量(了解) Event事件(了解) 一些进程/线程需要等待另外一些进程/线程运行完毕之后才能运行,类似于发射信号一样 线程q(了解) 进程池与线程池 ...
分类:
编程语言 时间:
2020-04-28 00:23:27
阅读次数:
57
(1)Producer的API 1、发送流程:Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程,以及一个线程共享变量——RecordAccumulator。main 线程将消息发送给 RecordAccum ...
Python来实现并发的Web Server,其中采用了多进程、多线程、协程、单进程单线程非阻塞的方式。 一、使用子进程来实现并发Web Server 参照 https://www.cnblogs.com/leokale-zz/p/11949208.html 中的代码,我们将其修改为支持并发的简单W ...
分类:
编程语言 时间:
2020-04-27 19:24:03
阅读次数:
58
死锁与递归锁(了解) 当你知道锁的使用抢锁必须要释放锁,其实你在操作锁的时候也极其容易产生死锁现象(整个程序卡死 阻塞) from threading import Thread, Lock import time mutexA = Lock() mutexB = Lock() # 类只要加括号多次 ...
分类:
编程语言 时间:
2020-04-27 17:50:22
阅读次数:
51
手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出 ...
分类:
编程语言 时间:
2020-04-27 17:32:58
阅读次数:
47
一、multiprocess.process模块 1、join方法 阻塞主进程,等待子进程执行完毕再放开阻塞 import time import random from multiprocessing import Process # 单个子进程 def func(index): time.sle ...
分类:
编程语言 时间:
2020-04-27 16:58:55
阅读次数:
59