
Python线程与进程笔记
文章平均质量分 94
爱编码的小陈
一位在努力攀升的熊
展开
-
python 进程笔记二(通讯) (概念+示例代码)
下面列出了python支持的各种进程间通信方式各类通信方式的适用场景主要是由于不同应用场景,以及对性能的不同需求,使用通信方式。多进程同时访问数据库,读写文件等场景,需要添加同步机制,可采用Lock, Event, Semaphore等机制。而Queue队列、Pipe 适合大多数场景,如 生产者 – 消息者,订阅 – 发布,Director – Worker等场景,在大多数情况下,Queue, Pipe即可满足进程间通信的需求。由于Queue对入列、出列对象需要进行序列化操作等,影响了效率。原创 2024-02-26 22:39:11 · 939 阅读 · 0 评论 -
python 进程笔记一 (概念+示例代码)
可以使用multprocessing模块的Queue实现多进程之间的是数据传递Queue本身是一个消息队列程序当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态生成多个进程,但如果是成百上千个进程,用手动方式创建就十分麻烦,此时就可以用到multiprocessing模块提供的Pool方法。原创 2024-02-26 15:39:32 · 839 阅读 · 0 评论 -
python 线程笔记三(全)(概念+示例代码)
尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务是执行时间较短,而且执行次数极其频繁,那么服务器将处于不停的创建线程,销毁线程的状态。注意join要在start之后,且不要和start在一个循环里,因为主线程遇到join就会阻塞,这样第一个循环创建线程1并start和join后,主线程开始阻塞,等线程1执行完毕才会下一个循环,才开始创建线程2,这样达不到并发的效果了。可以看到,我们开了三个子线程,分别执行1s,2s,3s,但是为什么我们一共耗时是0秒呢。原创 2024-02-25 22:56:28 · 862 阅读 · 0 评论 -
python 线程笔记二 (概念+示例代码)
1. 在前面了解了进程的概念,简单来说进程就是在内存中申请了一块内存空间,其实还有一个线程的概念,线程包含在进程之中,是代码真正的执行者。也就是说进程其实是一个资源单位,而线程是执行单位。2. 线程是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以存在多个线程,每条线程并行执行不同的任务。可以想象成进程是一个车间,线程就是车间里的流水线。为什么还要划分线程?因为开设线程的消耗远远小于进程开进程的流程:1.申请内存空间2.拷贝代码。原创 2024-02-25 21:06:11 · 896 阅读 · 0 评论 -
python 线程笔记一 (概念+示例代码)
通过threading模块能完成多任务的程序开发,为了让每个线程的封装性更完美,所以使用threading模块时,往往会定义一个新的子类class,只需要以下三步:1.让自定义类继承 threading.Thread2.让自定义类重写run方法3.通过实例化自定义类对象.start()方法启动自定义线程# 自定义线程类super().__init__() # 要先调用父类的init方法否则会报错# 重写 父类run方法print("正在执行子线程的run方法...",i)原创 2024-02-25 18:52:57 · 1165 阅读 · 0 评论