文章目录
- Java并发编程实战
- 并发简史
- 计算机,进程和线程
- 什么是线程安全类?它的定义是什么?
- 原子性与复合操作
Java并发编程实战
并发简史
在早期的计算机中不包含操作系统,它们从头到尾只执行一个程序,并且这个程序能访问计算机中的所有资源。在这种裸机环境中,不仅很难编写和运行程序,而且每次只能运行一个程序,这对昂贵并且稀有的计算机资源来说也是一种浪费。
操作系统的出现,使计算机可以运行多个程序,并且不同的程序都在单独的进程中运行:操作系统为各个独立执行的进程分配各种资源,包括内存,文件句柄以及安全证书等。
为什么计算机中加入操作系统来实现多个程序的同时执行呢?主要是基于以下原因:
资源利用率。在某些情况下,程序必须等待某个外部操作执行完成才能继续往下执行,比如说当外部有输入操作的时候,如果外部不输入内容,我们的程序就不能往下继续执行。因此,如果计算机在等待的同时,还可以运行另外一个程序,这将会提高计算机资源的利用率。
公平性。不同的程序对计算机上的资源有着同等的使用权。那么怎样保证公平性呢?计算机中的一种高效的方式是,使用CPU时间分片&#x