Pyhon
并发处理
pyhton中实现并发的库有:
1.threading
2.concurrent
3.asyncio (异步I/O)
threading
1 | import threading |
互斥锁 Lock
用来管理线程对于共享资源的访问 同一时刻只有一个线程可以访问共享资源
一个acquire()必须有相对应的release()
1 | import threading |
可读锁 RLock
同一个线程可以多次调用 acquire() 而不会死锁,每次 acquire() 必须对应一次 release(),直到最后一次释放后,其他线程才能获取该锁
1 | import threading |
事件 Event
一个线程发出信号,一个或多个线程等待该信号
1 | event=threading.Event() |
1 | import time |
条件变量
比 Event 更灵活,可以配合锁使用,实现复杂的线程间通信(如生产者-消费者)。
1 |
|
信号量
确保只有指定数量的线程在执行中
1 | import time |
屏障
等待进程到达屏障点 然后一起执行
1 | import time |
concurrent
主要是使用concurrent 里面的futures模块
直接开一个线程池 在里面提交任务自动就会开启子线程开启任务
1 | from cooncurrent import futures |
1 | from concurrent.futures import wait, FIRST_COMPLETED |
1 | from concurrent.futures import as_completed |
asyncio
异步I/O操作
单线程+循环事件
一定要用协程函数
1 | import asyncio |
await会挂起任务 并执行其他相同的任务 与直接阻塞不同
httpx
1 | import httpx |
aiohttp
1 | import aiohttp |
通常需要显示关闭一些东西 比如连接 执行器
使用with as 语句可以自动关闭
连接池复用
1 | import request |
文件操作
python中文件操作权限常用类型:


读写文件
1 | file = "D:\\123\\1.txt" |
下载网络图片
1 | with open(file,"wb") as f: |
修改文件目录中的文件的后缀名
1 | import pathlib |
匹配并修改文本中的特定字符串
1 | import pathlib |
正则匹配
re库常用方法
1 | re.sub(pattern,repl,string) 替换指定字符 |
JAVA
流读写
1 |
说些什么吧!