并发编程第一章

                            第一章 简介

并发简史

  1. 裸机只能串行的执行一个程序,无法充分发挥计算机的资源(比如cpu)
  2. 引入操作系统来分配 计算机资源并且实现多个程序同时执行
    • 资源利用率(比如i/o 阻塞)
    • 公平性 (cpu调度算法参考 )操作系统概念
    • 便利性(编写多个程序)
  3. 线程资料
    • 会共享进程范围内的的资源,比如栈与局部变量
    • 优势:充分发挥处理器的能力、异步事件的处理(来一个请求启动一个线程去处理比如tomcat)、响应更灵敏的用户界面。
  4. 风险
    • 线程安全问题如
      public class UnsaFEsequence{
         prvate int value;
             public int getNext(){
                  return value++;//不同的线程会获取到相同的值
         }
        }
  • 活跃性问题 某件正确的事情最终会发生(比如死循环)
  • 性能问题 比如线程调度器挂起某个线程产生上下问切换,使cpu更多时间花在调度上面而非程序执行上面。

你可能感兴趣的:(并发编程第一章)