两种并发编程模型

多进程

进程间通信常用的几种方式:

  • 文件
  • 管道
  • 消息队列

    多线程

    一个进程中存在的多个线程,通常通过共享内存来通信,(说的非常非常粗俗,就是通过类似“全局变量”的一些数据对象来通信。不知道这种说对不对)

两者优缺点

多线程优点

  • 线程被称为“轻量级进程”,一般启动更快,而开启一个进程会慢一些也会复杂一点(因为操作系统需要绑定一些内部资源来管理进程)
  • 线程的运行成本更低。比如说进程运行时,操作系统需要提供很多保护,防止意外地从当前进程切换到其他某个进程
  • 共享内存的通信方式比进程间通信方式 快很多

多线程缺点

  • 多线程需要很小心的管理,避免死锁、数据竞速等等
  • 多线程不能运行在分布式环境下,多进程运行在不同主机上很方便

最新文章

  1. Javascript之一切皆为对象1
  2. dispaly:table-cell,inline-block,阐述以及案例
  3. 剑指offer系列61---数组中的逆序对
  4. Linux Tomcat必须知道的命令
  5. jquery实现点击按钮滑动到指定位置
  6. Redis压缩列表原理与应用分析
  7. PAT 1057. Stack (30)
  8. logstash 处理tomcat access报ArgumentError: comparison of String with 5 failed
  9. F# 越用越喜欢
  10. django之uWSGI配置 +Nginx
  11. HOW to Use QP_PREQ_PUB.PRICE_REQUEST API to Price an Item
  12. Framework7框架结构
  13. JavaScript 循环:如何处理 async/await
  14. PHP 性能分析第一篇: Intro to Xhprof & Xhgui
  15. [渗透技巧] Windows命令行下载
  16. #《JAVA程序设计》 20155214 实验五 网络编程与安全
  17. UVA 1213 Sum of Different Primes(经典dp)
  18. Java入门系列-22-IO流
  19. C语言RL78 serial bootloader和C#语言bootloader PC端串口通信程序
  20. Flask虚拟环境连接mysql出现1366的解决方案

热门文章

  1. 结对编程作业(java实现)
  2. sql的日期格式化转化
  3. C# Net 通用json转Object(对象)
  4. mysql 连接数用完,root也无法登陆的处理方法
  5. 如何开启telnet服务LINUX&Windows
  6. 显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么?
  7. <人人都懂设计模式>-中介模式
  8. vuex相关
  9. python相关资源
  10. Oracle ORA-00923: FROM keyword not found where expected