
python进程和线程
文章平均质量分 89
一个两个四个三
Python领域资深菜鸟,分布式产品边缘开发,经常部署openstack
展开
-
线程和进程四--多进程和concurrent.futures模块
concurrent.futures模块:** 一次起指定数量的线程数,提交的任务在这些线程中跑,当线程中的任务执行完毕时,线程不会结束,而是保留资源,再次提交新的任务时在空闲的线程中跑新任务,而不会另起线程;优点是避免反复申请资源。............原创 2022-08-02 23:39:23 · 516 阅读 · 1 评论 -
进程和线程二--线程安全
六、线程安全:多线程中,不同线程的函数,一个线程中的函数未执行完,被暂停插入执行另一个线程。例如:print输出日志,函数分两步,先打印字符串,然后再换行。多线程中,就在这之间发生了线程切换,这就说明print函数是线程不安全。解决办法:print打印的字符串,作为不可变类型,作为一个整体不可分割输出。就不让print输出换行符,在字符串末尾加上换行符使用logging模块案例练习:import loggingimport threadingimport timelogging.ba原创 2022-03-20 11:51:14 · 569 阅读 · 0 评论 -
线程和进程一--并发和并行
一、并行和并发并行,parallel:同一个时间点,不同任务同时进行,互不干扰。并发,concurrency:需要同时做某些事,强调的是需要处理多项事务,不一定同时进行。—> 并行解决的是并发需求的一种方式。—>队列、缓冲区,也是解决并发的方式。高并发怎么解决:并行怎么样,队列怎么样,争抢怎么样?队列、缓冲区:排队是天然解决并发需求的方法。* 缓冲区:排成的队列,就是一个缓冲地带,就是 缓冲区。* 优先队列:假设女生优先,食堂只有一个窗口,需要排两个队列,女生排女生的队列原创 2022-03-20 11:36:37 · 3855 阅读 · 0 评论 -
线程和进程三--线程同步二
三、threading.Rlock类理解:可重入锁,是线程相关的锁。线程A获得可重复锁,并可以多次成功获取,不会阻塞。最后要在线程A中做和acquire次数相同的release。获取:threading.Rlock().acquire()释放:threading.Rlock.release()四、threading.Condition(lock=None)类可传入一个Lock或Rlock对象,不传默认是RLock,Condition类方法:acquire():获取锁wait(timeo原创 2022-03-19 23:35:53 · 2303 阅读 · 0 评论 -
线程和进程三--线程同步一
一、线程同步概念理解线程间协同,通过某种技术,让一个线程访问某些数据的时候,其他线程不能访问这些数据,直到该线程完成对数据的操作。涉及概念----脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。(一个线程操作的半成品数据,其他线程又来用。)因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。如果都未更新你就读取了,或者都更新完才读取,这都不是原创 2022-03-18 23:49:04 · 555 阅读 · 0 评论