Python多进程笔记(第3章)- 共享内存、信号量、时间、socket与进程池
发布时间
阅读量:
阅读量
20171107 - thread - day3
知识总结:
当资源被使用后需被终止或被释放以避免资源泄露。
通常,在大多数系统中,默认情况下父进程会在所有子进程完成后再自身退出。
互斥锁的设计遵循的原则是采用最小的粒度进行管理以确保系统的高效性。
Google浏览器通过按住Ctrl键并执行F键可实现界面中的快速搜索功能。
在进程中池中采用阻塞方式的操作,在流程上与单个进程中相似,并需等待处理的时间较长;而采用非阻塞方式的操作则可同时处理多个进程中运行的任务序列,并能显著提高整体效率以及缩短运行时间。
子进程可以访问并修改全局变量,并且在子进程中复制后进行操作时能使用这些数据;然而,在这种情况下所更改的数据仅限于该子进程中个人使用;如果创建了共享内存(数组、value),则所有子进程都可以访问和修改这些全局变量;然而,在这种场景下会出现资源竞争问题导致数据修改错误:例如,在同一文件中多个线程同时进行写入操作时(一个线程完成保存后会等待直到另一个人完成保存操作),最终双方的两次操作会被视为独立完成的操作。为了避免这种情况的发生,则必须为每个线程单独提供一个互斥锁机制以确保数据一致性
共享内存:
允许多个进程共享同一块内存空间;当一个进程修改内存中的数据时,其他所有相关联的进程都能实时获取到数据的变化情况;由于减少了数据拷贝的次数(由4次减少至2次),并
全部评论 (0)
还没有任何评论哟~
