并发编程第一章

                            第一章 简介

并发简史

  1. 裸机只能串行的执行一个程序,无法充分发挥计算机的资源(比如cpu)
  2. 引入操作系统来分配 计算机资源并且实现多个程序同时执行
    • 资源利用率(比如i/o 阻塞)
    • 公平性 (cpu调度算法参考操作系统概念
    • 便利性(编写多个程序)
  3. 线程资料
    • 会共享进程范围内的的资源,比如栈与局部变量
    • 优势:充分发挥处理器的能力、异步事件的处理(来一个请求启动一个线程去处理比如tomcat)、响应更灵敏的用户界面。
  4. 风险
    • 线程安全问题如
      public class UnsaFEsequence{
         prvate int value;
             public int getNext(){
                  return value++;//不同的线程会获取到相同的值
         }
        }
  • 活跃性问题 某件正确的事情最终会发生(比如死循环)
  • 性能问题 比如线程调度器挂起某个线程产生上下问切换,使cpu更多时间花在调度上面而非程序执行上面。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容