摘要:
在urls.txt文件中包含了若干个图像url,一行一个url,请使用多线程下载这些图像文件,并按url出现的顺序保存为0.jpg、1.jpg、2.jpg,依次类推。 from urllib3 import * import threading http = PoolManager() disabl
阅读全文
posted @ 2022-04-20 21:06
yuminhu
阅读(30)
推荐(0)
编辑
摘要:
信号量:最古老的同步原语之一,是一个计数器。 当资源释放时,计数器就会递增,当申请资源时,计数器就会递减 可以认为信号量代表资源是否可用。 from threading import BoundedSemaphore MAX = 3 semaphore = BoundedSemaphore(MAX)
阅读全文
posted @ 2022-04-20 20:54
yuminhu
阅读(303)
推荐(0)
编辑
摘要:
请解释什么是线程锁,举例说明如何使用线程锁 线程锁:目的是将一段代码锁住,一旦获得锁权限,除非释放线程锁,否则其他任何代码都无法获得锁权限 为什么需要线程锁 由于多线程同时在完成特定的操作时,由于并不是原子操作,所以在完成操作的过程中可能会被打断,去做其他的操作。 可能会产生脏数据 例如:一个线程读
阅读全文
posted @ 2022-04-20 19:26
yuminhu
阅读(324)
推荐(0)
编辑
摘要:
1. 请描述什么是协程,举例说明 协程,又称为微线程、纤程,英文名:Coroutine 通过async/await语法进行声明,是编写异步应用的推荐方式 import asyncio async def main(): print('hello') await asyncio.sleep(1) pr
阅读全文
posted @ 2022-04-20 16:07
yuminhu
阅读(25)
推荐(0)
编辑
摘要:
如何创建和使用在线程内部用的全局对象 import threading import time a = threading.local() a.x = 0 def worker(): for i in range(20): time.sleep((0.01)) a.x += 1 print(thre
阅读全文
posted @ 2022-04-20 15:22
yuminhu
阅读(64)
推荐(0)
编辑
摘要:
当运行一个线程函数时,如何为该函数传递参数 import threading # 线程函数 def func1(s, fun): print('正在执行函数func1') fun(s) def ff(s): print(f'ff输出了{s}') t1 = threading.Thread(targe
阅读全文
posted @ 2022-04-20 14:37
yuminhu
阅读(94)
推荐(0)
编辑
摘要:
用python创建2个进程,在这两个进程之间如何通信呢? from multiprocessing import Queue, Process import time, random list1 = ['java', 'python', 'javascript'] def write(queue):
阅读全文
posted @ 2022-04-20 14:07
yuminhu
阅读(21)
推荐(0)
编辑
摘要:
用正则表达式擦或者字符串中所有的浮点数,并格式化这些浮点数,保留小数点后2位,最后将格式后的浮点数替换原来的浮点数,同时输出替换后的结果和替换的次数。要求用一条语句实现 import re ''' 1. 表示浮点数的正则表达式 -?\d+(\.\d+)? 2. 格式化浮点数 format 3. 如何
阅读全文
posted @ 2022-04-20 11:48
yuminhu
阅读(131)
推荐(0)
编辑
摘要:
用张泽表达式查找字符串中所有的Email, 并输出这些Email。要求,所有的Email域名必须是.com或.net的。而且不区分大小写。 import re s = '我的Email地址是abc@163.com,你的Email是多少呢?是xyz@122.net吗“或者是ccc@125.org' p
阅读全文
posted @ 2022-04-20 11:29
yuminhu
阅读(172)
推荐(0)
编辑