随笔分类 -  16-进程、线程、协程

摘要:转自:https://www.jianshu.com/p/b9b3d66aa0be Python中已经有了threading模块,为什么还需要线程池呢,线程池又是什么东西呢?在介绍线程同步的信号量机制的时候,举得例子是爬虫的例子,需要控制同时爬取的线程数,例子中创建了20个线程,而同时只允许3个线程 阅读全文
posted @ 2020-04-24 22:12 组装梦想 阅读(444) 评论(0) 推荐(0)
摘要:通俗描述: 1.有一个老板想要开个工厂生产某件商品,他需要花一些财力物力制作一条生产线,这个生产线上有很多的器件以及材料,这些所有的为了能够生产商品而准备的资源称之为:进程 2.只有生产线是不能够进行生产的,所以老板得找工人来进行生产,这个工人能够利用这些材料最终一步步的将商品做出来,这个来做事情的 阅读全文
posted @ 2020-04-14 10:44 组装梦想 阅读(162) 评论(0) 推荐(0)
摘要:协程的好处:当进程有耗时操作时,通过协程可以完成后续操作。协程切换任务资源很小,效率高。 使用yield完成多任务: 1 import time 2 3 4 def work1(): 5 while True: 6 print(" 1 ") 7 time.sleep(0.1) 8 yield 9 1 阅读全文
posted @ 2020-04-14 10:41 组装梦想 阅读(159) 评论(0) 推荐(0)
摘要:生成器概念:在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生成下一个数据。为了达到记录当前状态,并配合next()函数进行迭代使用,我们可以采用最简便的语法,即生成器。生成器是一类特殊的迭代器。 创建生成器的方法: 1.使用元组推导式 1 import random 阅读全文
posted @ 2020-04-10 22:57 组装梦想 阅读(138) 评论(0) 推荐(0)
摘要:迭代器简介:迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 for循环执行步骤:1.判断对象是否是可迭代的(创建对象的类要有__iter__方法) 2.判断对象的__iter__方法的返回 阅读全文
posted @ 2020-04-09 22:44 组装梦想 阅读(178) 评论(0) 推荐(0)
摘要:进程概述:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元。 进程创建类似线程,通过multiprocessing模块的Process类创建进程。类的括号内部也可以传入target=方法名和用args=()传入实参到要执行的方法内部,args也必须为元组。 一个简单的 阅读全文
posted @ 2020-04-09 17:20 组装梦想 阅读(654) 评论(0) 推荐(0)
摘要:资源总是有限的,程序运行如果对同一个对象进行操作,则有可能造成资源竞争,也可能导致读写混乱,此时需要引入锁。 锁提供如下方法: 1.Lock.acquire([blocking]) # 上锁2.Lock.release() # 解锁3.threading.Lock() # 加载线程的锁对象,是一个基 阅读全文
posted @ 2020-04-08 23:39 组装梦想 阅读(638) 评论(0) 推荐(0)
摘要:单线程执行代码: 1 import time 2 3 4 def saySorry(): 5 print("测试代码") 6 time.sleep(1) 7 8 9 if __name__ == '__main__': 10 for i in range(5): 11 saySorry() 单线程下 阅读全文
posted @ 2020-04-08 23:16 组装梦想 阅读(162) 评论(0) 推荐(0)
摘要:1 from multiprocessing import Pool 2 import os, time, random 3 4 5 def worker(msg): 6 t_start = time.time() # 获取开始时间 7 print("%s开始执行,进程号为%d" % (msg, o 阅读全文
posted @ 2020-04-08 22:36 组装梦想 阅读(8868) 评论(0) 推荐(2)
摘要:简介:同一时间,聊天器两端均可收发数据 1 import socket 2 import threading 3 4 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 5 6 7 def send_msg(dest_ip, d 阅读全文
posted @ 2020-04-08 20:39 组装梦想 阅读(258) 评论(0) 推荐(0)