java并发编程实战-章一
来源:互联网 发布:社交软件开发 编辑:程序博客网 时间:2024/06/08 07:36
1.1 并发简史
早期的计算机不包含操作系统,它们从头到尾只执行一个程序,并且这个程序能访问计算机中的所有资源。在这种裸机环境中,不仅很难编写和运行程序,一次只能运行一个程序,计算机的资源得不到充分的利用。之所以计算机要加入操作系统来实现多个程序的同时运行,主要基于以下原因:资源利用率、公平性、便利性这些也促使了线程的出现。线程允许在同一个进程中同时存在多个程序控制流。线程会共享进程范围内的资源,例如内存句柄和文件句柄,但每个线程都有各自的程序计数器、栈以及局部变量等。线程也被称为轻量级的进程。大多数现代的操作系统中,都是以线程为基本的调度单位,而不是进程。如果没有明确的协同机制,那么线程将彼此独立执行。由于同一个进程中的所有线程将共享进程的的内存地址,因此这些线程都能访问相同的变量并在同一个堆上分配对象,这就需要实现一种比在进程间共享数据粒度更细的数据共享机制。如果没有明确的同步机制来协同对共享数据的访问,当一个线程在使用某个变量时,另一个线程有可能同时访问这个变量,这将造成不可预测的结果。
1.2 线程的优势
线程可以有效的降低开发和维护成本,同时提升复杂应用程序的性能。线程能够将大部分的异步工作流转换成串行工作流。因此能更好的模拟人类的工作方式和交互方式。此外,线程还可以降低代码的复杂度,使代码更容易编写、阅读和维护。 1.2.1 发挥多处理器的强大能力 1.2.2 建模的简单性 1.2.3 异步事件的简化处理 1.2.4 响应更灵敏的用户桌面
1.3 线程带来的风险
1.3.1 安全性问题1.3.2 活跃性问题1.3.3 性能问题
1.4 线程无处不在
每个java应用程序都会使用线程。
阅读全文
1 0
- java并发编程实战-章一
- 阅读 JAVA并发编程实战 (一)
- Java并发编程实战笔记(一)
- 《Java并发编程实战》读书笔记一:基础知识
- 【Java并发编程实战】----- AQS(一):简介
- Java并发编程实战 笔记(一) 简介
- Java并发编程实战--笔记一
- Java并发编程实战 AQS(一):简介
- 【Java并发编程实战】----- AQS(一):简介
- Java并发编程实战读书笔记(一)
- 学习java并发编程实战(一)
- Java并发编程实战
- Java并发编程实战--
- Java并发编程实战-
- Java 并发编程实战
- java并发编程实战
- Java并发编程实战
- Java并发编程实战
- Java并发之线程管理
- Java 上传文件到ftp服务器
- python unicode 及解码编码方式简介
- EventBus使用
- GBDT+LR
- java并发编程实战-章一
- Jquery uploadify 上传文件 springmvc 接收处理
- 前端学习记录(2)【身份证、左侧导航、模糊搜索】
- [HBase配置参数解析]hbase.regionserver.handler.count
- Kaggle (Bike Sharing Demand)top20%
- Deeplab V1 和 V2讲解
- 国家气象局免费接口
- android的KeyCode
- zTree树插件动态加载