上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 54 下一页
摘要: 为什么会有进程池的概念? 当我们开启50个进程让他们都将100这个数减1次减到50,你会发现特别慢! 效率问题,原因: 1,开辟内存空间。因为每开启一个进程,都会开启一个属于这个进程池的内存空间,因为进程与进程之间数据是完全隔离的。 2,并且这些独立的内存空间会有许多寄存器,堆栈,文件等,他们存着这 阅读全文
posted @ 2018-10-16 21:42 aaronthon 阅读(1612) 评论(0) 推荐(0) 编辑
摘要: 将数据设置成共享数据,一个进程修改了数据,另外一个进程就能就接受的被修改的数据。 起50个进程让他们都去操作一个数据: 多运行几次发现,结果有时是50,有时是53,有时是57等等。。。 为什么会出现这个结果,因为一个88被一个进程拿到要去修改还没修改时被其他进程拿到,然后这个进程将数据修改成87并写 阅读全文
posted @ 2018-10-15 22:19 aaronthon 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 管道是双向通信的,数据从其中一端传入,就会从另外一端传出。 在进程间通过管道实现通信。 多次发数据: 另一种方式close(): 阅读全文
posted @ 2018-10-15 19:54 aaronthon 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 生产者生产的东西放到队列里,消费者消费掉东西。 阅读全文
posted @ 2018-10-14 15:40 aaronthon 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 队列是先进先出。 进程间通信: 这样就实现了子进程与主进程,子进程与子进程之间的通信了。 阅读全文
posted @ 2018-10-13 20:21 aaronthon 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 信号量可以控制一个或多个进程同时进行阻塞或执行。 一个事件被创建后,默认是阻塞状态。 阅读全文
posted @ 2018-10-13 13:00 aaronthon 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 信号量概念和锁其实是一样的。 假如一个资源(就是一段代码),我们不想让所有进程同时使用,只想让规定的几个进程同时使用。这是就相当于一间上锁的房子,门后有4把钥匙,哪个进程拿到钥匙开锁才能进门,拿不到要是的进程就等着进去的进程出来还钥匙。这就是信号量的概念。 信号量:一段代码,同一时间只能被N个进程使 阅读全文
posted @ 2018-10-12 19:33 aaronthon 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 例1: 10个人去买票,先去查询余票,有票就去购买。代码如下: 解决办法:加锁 好比一个上锁的房间,门口只有一个钥匙,一个线程拿到钥匙进去修改数据没出来前,其他进程只能等着。 这样会出现有几张票就只有几个人能买票了,数据就安全了。 阅读全文
posted @ 2018-10-12 17:12 aaronthon 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 注册一个进程: from multiprocessing import Process import os def func(args): # 在子进程里面。args接收一个参数,如果要接受多个参数使用*args print(args) print(111) print('子进程:', os.get 阅读全文
posted @ 2018-10-11 12:55 aaronthon 阅读(864) 评论(0) 推荐(0) 编辑
摘要: 什么是进程?什么是线程? 进程是系统中正在运行的一个程序,程序一旦运行就是进程。 进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构,如果想让一个进程访问另一个进程的资源,需要使用进程间通信,比如管道,文件,套接字等 阅读全文
posted @ 2018-10-09 11:15 aaronthon 阅读(49140) 评论(0) 推荐(1) 编辑
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 54 下一页