随笔分类 -  并发编程

1
摘要:python高并发的解决方案 一.cdn加速 简单说就是把静态资源放到别人服务器上 全称:Content Delivery Network或Content Ddistribute Network,即内容分发网络 基本思路: 尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更 阅读全文
posted @ 2020-08-10 16:50 小学弟- 阅读(1385) 评论(0) 推荐(0) 编辑
摘要:从yield 到 yield from 再到python协程 yield 关键字 def fib(): a, b = 0, 1 while 1: yield b a, b = b, a+b yield 是在:PEP 255 -- Simple Generators 这个pep引入的 yield 只能 阅读全文
posted @ 2019-01-15 20:16 小学弟- 阅读(188) 评论(0) 推荐(0) 编辑
摘要:python通过future处理并发 future初识 通过下面脚本来对future进行一个初步了解:例子1:普通通过循环的方式 1 import os 2 import time 3 import sys 4 5 import requests 6 7 8 POP20_CC = ( 9 "CN I 阅读全文
posted @ 2019-01-15 20:14 小学弟- 阅读(1070) 评论(0) 推荐(0) 编辑
摘要:线程总结 常用用法 t.is_alive() Python中线程会在一个单独的系统级别线程中执行(比如一个POSIX线程或者一个Windows线程)这些线程将由操作系统来全权管理。线程一旦启动,将独立执行直到目标函数返回。可以通过查询一个线程对象的状态,看它是否还在执行t.is_alive() t. 阅读全文
posted @ 2019-01-15 19:52 小学弟- 阅读(159) 评论(0) 推荐(0) 编辑
摘要:并发编程协程之Gevent Gevent官网文档地址:http://www.gevent.org/contents.html 基本概念 我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译为协同的例程,一般我们都简称为协程。 在linux系统中,线程就是轻量级 阅读全文
posted @ 2019-01-15 19:47 小学弟- 阅读(440) 评论(0) 推荐(0) 编辑
摘要:asyncio模块 这是官网也非常推荐的一个实现高并发的一个模块,python也是在python 3.4中引入了协程的概念。 asyncio 是干什么的? 异步网络操作 并发 协程 python3.0时代,标准库里的异步网络模块:select(非常底层) python3.0时代,第三方异步网络库:T 阅读全文
posted @ 2019-01-15 19:42 小学弟- 阅读(241) 评论(0) 推荐(0) 编辑
摘要:Python并发编程之IO模型 目录: 一、IO模型介绍 二、阻塞IO (blocking IO) 三、非阻塞IO (nonblocking IO) 四、多路复用IO (IO multiplexing) 五、异步IO(asynchronous IO) 六、IO模型比较分析 七、selsectors模 阅读全文
posted @ 2018-11-11 16:13 小学弟- 阅读(244) 评论(0) 推荐(0) 编辑
摘要:**********协程********** *****准备**** 之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。 按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题, 都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我们对于效率的追求不断提高,基于单线程来... 阅读全文
posted @ 2018-03-28 15:22 小学弟- 阅读(150) 评论(0) 推荐(0) 编辑
摘要:进程与线程的区别: 1)进程是资源分配的最小单位,线程是CPU调度的最小单位。每一个进程中至少有一个线程。 2)地址空间和其他资源(如打开文件): 进程间相互独立,同一进程的个线程之间共享。某进程内的线程在其他进程中不可见。 3)通信: 进程间的通信IPC,线程间可以直接读写进程数据段(如全局变量) 阅读全文
posted @ 2018-03-27 16:14 小学弟- 阅读(130) 评论(0) 推荐(0) 编辑
摘要:********线程池******** Python标准模块--Concurrent.futures 1.介绍 Concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 ProcessPoolExecutor:进程池,提供异步调用 Both implement the same interface, which i... 阅读全文
posted @ 2018-03-27 16:02 小学弟- 阅读(185) 评论(0) 推荐(0) 编辑
摘要:网络编程+并发编程 架构:B/S 和 C/S C/S:充分发挥PC机的性能 B/S:统一了应用的接口,隶属于CS架构 OSI模型 七层:表示层,会话层,应用层,传输层,网络层,数据链路层,物理层。 我们用五层 应用层 http协议 https协议 ftp协议 snmp/pop3/stmp/dns 传输层 tcp udp 协议 (四层交换机) 网络层 IP协议/icmp... 阅读全文
posted @ 2018-03-25 16:00 小学弟- 阅读(203) 评论(0) 推荐(0) 编辑
摘要:*********线程和python******** ******理论知识****** ****全局解释器锁(GIL)**** Python代码的执行由Python虚拟机(也叫解释器主循环)来控制。Python在设计之初就考虑到要在主循环中, 同时只有一个线程在执行。虽然Python解释器中可以“运行”多个线程,但在任意时刻只有一个线程在解释器中运行。 对Python虚拟机的访问由全局解... 阅读全文
posted @ 2018-03-23 17:14 小学弟- 阅读(238) 评论(0) 推荐(0) 编辑
摘要:********线程理论******** *****线程概念的引入背景**** **进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为 它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合, 它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,我们允许 多个程序同时加载到内存中... 阅读全文
posted @ 2018-03-23 14:16 小学弟- 阅读(175) 评论(0) 推荐(0) 编辑
摘要:********生产者消费者模型******** 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费 线程的工作能力来提高程序的整体处理数据的速度。 为什么要使用生产者和消费者模式 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果 生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能... 阅读全文
posted @ 2018-03-22 17:52 小学弟- 阅读(136) 评论(0) 推荐(0) 编辑
摘要:********进程池******** ****进程池**** 为什么要有进程池? 答: 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务。那么在成千 万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗时间,销毁 程也需要消耗时间。第二即便开启了成千上万的进程,操作系统也不能让他们同时执行,这样反而会影响 序的效率。因此我们不... 阅读全文
posted @ 2018-03-22 17:14 小学弟- 阅读(159) 评论(0) 推荐(0) 编辑
摘要:********进程之间的数据共享********(了解) 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。 这样极大地减少了对使用锁定和其他同步手段的需求,还可以扩展到分布式系统中。 但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。 以后尝试使用数据库来解决现在进程之间... 阅读全文
posted @ 2018-03-22 16:33 小学弟- 阅读(183) 评论(0) 推荐(0) 编辑
摘要:********进程间通信-队列和管道******** ****进程间通信-队列和管道 IPC(Inter-Process Communication) ****队列 **概念介绍 创建贡献的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。 Queue([maxsize]) 创建共享的进程队列。 参数 :maxsize是队列中允许的最大项数。如果省... 阅读全文
posted @ 2018-03-22 15:55 小学弟- 阅读(714) 评论(0) 推荐(0) 编辑
摘要:********进程同步控制******** ****锁--multiprocessing.Lock**** 通过学习,我么实现了程序的异步,让多个任务可以同时在几个进程中处理,他们之间的运行没有顺序,一旦 开启不受我们控制。尽管并发编程让我们能更加充分的利用IO资源,但是也给我们带来了新的问题 当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱问题。 **多进程抢占资源... 阅读全文
posted @ 2018-03-21 15:09 小学弟- 阅读(200) 评论(0) 推荐(0) 编辑
摘要:********在python程序中的进程操作******** 之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了, 运行中的程序就是一个进程。所有的进程都是通过它的父进程来创建的。因此,运行起来的python程序 也是一个进程,那么我们也可以在程序中再创建进程。多个进程可以实现并发效果,也就是说,当我们的 程序中存在多个进程的时候,在某些时候,就会让程... 阅读全文
posted @ 2018-03-20 21:05 小学弟- 阅读(283) 评论(0) 推荐(0) 编辑
摘要:********进程理论知识******** ****操作系统背景知识**** 顾名思义,进程及正在执行的一个过程,进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一 操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须实现了解操作系统。 PS:即使可以利用cpu只有一个(早期的计... 阅读全文
posted @ 2018-03-20 14:56 小学弟- 阅读(202) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示