python-并发编程概念

概念

  • 隐藏丑陋复杂的接口,提供良好的接口  
  • 管理调度进程(运行当中的程序),并将多个进程对硬件的竞争变得有序  
  • 概念  
    • 就是操作系统可以同时运行多个任务  
    • 如:一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务      
  • 实现方式  
    • 多进程模式    
    • 多线程模式      
    • 多进程+多线程模式  
  • 总结  
    • 线程是最小的执行单元  
    • 进程由至少一个线程组成。  
    • 如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。  
  • 同一时刻有多个CPU在处理任务  
  • 多进程  
  • 并行的关键是你有同时处理多个任务的能力。
  • 同一时刻只有一个CPU在处理任务
  • cpython中的多线程   (CPthon里因为GIL锁的限制)
  • 并发的关键是你有处理多个任务的能力,不一定要同时。  (其实就是有任务来的时候可以不阻塞, 那么就是并发)
  • 一步一步的按计划执行每一个小任务  
  • 也就是必须一件一件事做,等前一件做完了才能做下一件事。  
  • 例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事  
  • socket  
  • 同时执行多个小任务      (其实就是回调, 当一个任务完成后自动执行某个函数)  # 而且, 并发其实就是通过异步实现的
  • socketserver      
  • 就是调用(函数),(函数)没有接收完数据或者没有得到结果之前,不会返回。  
  • 就是调用(函数),(函数)立即返回,通过select通知调用者。  
  • 同步IO和异步IO的区别  
    • 数据拷贝的时候进程是否阻塞!        
  • 阻塞IO和非阻塞IO的区别  
    • 应用程序的调用是否立即返回!  

操作系统介绍

1,多道技术

  针对单核,实现并发

  空间上的复用:如,内存中同时有多道程序

  时间上的复用:复用同一个时间片

2,分时系统

  由于不断地分时,CPU效率有少许下降

  特点:

  • 多路性
  • 交互性
  • 独立性
  • 及时性

3,实时系统

  专项的去响应某一程序

posted @ 2018-08-29 15:39  孙昌恒  阅读(145)  评论(0编辑  收藏  举报