[JCIP]Chapter 1 并发的简短历史
?最开始: 没有操作系统,电脑一次只能运行一个程序。
?后来: 操作系统引入并发,允许同时多个程序运行,每个程序都在各自的进程里运行。
?导致操作系统允许同时运行多个程序的因素: 资源利用率;公平性;开发方便.
?多个线程共享进程的内存,文件句柄资源。每个线程有自己的程序计数器,栈,局部变量
?线程在多处理器中能够更进一步地利用硬件资源。因为在多处理器中,多个线程能够同时运行。
?多线程有时被称为"轻量级进程",现代很多操作系统将线程(而不是进程)当作最小的调度单元,在缺少外部的协调下,线程之间是同步或异步执行的。
?但多个线程共享了进程的地址空间,进程里的多个线程可以访问同一个变量,在同一个堆中分配对象。在数据共享方面,比进程要好得多,但在缺少外部协调情况下去访问
?共享变量,一个线程会改变另一个线程正在用的变量,从而导致不可预知的结果.