python并行处理文件(Python中的并行和并发是什么)
并行和并发
无论是并行还是并发 ,在用户看来都是同时运行的 ,不管是进程还是线程 ,都只是一个任务而已 ,真是干活的是cpu ,cpu来做这些任务 ,而一个cpu同一时刻只能执行一个任务 。
并发是伪并行 ,即看起来是同时运行 。单个cpu+多道技术就可以实现并发 ,(并行也属于并发) ,简单的可以理解为快速在多个线程来回切换,感觉好像同时在做多个事情。
只有具备多个cpu才能实现并行 ,单核下 ,可以利用多道技术,多个核 ,每个核也都可以利用多道技术(多道技术是针对单核而言的) 。 有四个核 ,六个任务,这样同一时间有四个任务被执行 ,假设分别被分配给了cpu1 ,cpu2 ,cpu3 ,cpu4 ,一旦任务1遇到I/O就被迫中断执行 ,此时任务5就拿到cpu1的时间片去执行 ,这就是单核下的多道技术 ,而一旦任务1的I/O结束了 ,操作系统会重新调用它(需知进程的调度 、分配给哪个cpu运行,由操作系统说了算) ,可能被分配给四个cpu中的任意一个去执行 。
相关推荐:《Python视频教程》
多道技术:内存中同时存入多道(多个)程序 ,cpu从一个进程快速切换到另外一个,使每个进程各自运行几十或几百毫秒 ,这样 ,虽然在某一个瞬间,一个cpu只能执行一个任务 ,但在1秒内 ,cpu却可以运行多个进程 ,这就给人产生了并行的错觉 ,即伪并发 ,以此来区分多处理器操作系统的真正硬件并行(多个cpu共享同一个物理内存) 。
同步执行:一个进程在执行某个任务时 ,另外一个进程必须等待其执行完毕 ,才能继续执行 。
异步执行:一个进程在执行某个任务时 ,另外一个进程无需等待其执行完毕 ,就可以继续执行,当有消息返回时 ,系统会通知后者进行处理 ,这样可以提高执行效率 。
举个例子,打电话时就是同步通信 ,发短息时就是异步通信 。
相关推荐:
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!