自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在咖啡里溺水的鱼

追求内心的宁静

  • 博客(7)
  • 收藏
  • 关注

原创 深入了解Java并发——《Java Concurrency in Practice》学习笔记 6.任务执行

大多数并发应用程序都是围绕 任务执行 Task Execution 来构造的:任务通常是一些抽象的且离散的工作单元。通过把应用程序的工作分解到多个任务中,可以简化程序的组织结构,提供一种自然的事务边界来优化错误恢复过程,以及提供一种自然的并行工作结构来提升并发性。6.1 在线程中执行任务当围绕 任务执行 来设计应用程序结构时,第一步就是要找出清晰的任务边界。在理想情况下,各个任务之间是...

2017-11-27 18:15:10 408

原创 Java并发编程学习——《Java Concurrency in Practice》学习笔记 并发技巧清单

并发技巧清单可变状态是至关重要的 所有的并发问题都可以归结为如何协调对并发状态的访问。可变状态越少,就越容易确保线程安全性。尽量将域声明为final类型,除非需要它们是可变的不可变对象一定是线程安全的 不可变对象能极大的降低并发编程的复杂性。它们更为简单而且安全,可以任意共享而无需使用加锁或保护性复制等机制。封装有助于管理复杂性 将数据封装在对象中,更易于维持不变性条件:将同步机制封...

2017-11-27 18:14:34 263

原创 深入了解Java并发——《Java Concurrency in Practice》学习笔记 5.基础构建模块

5.1 同步容器类同步容器类包括Vector、Hashtable,以及JDK1.2中添加的一些功能相似的类,这些同步的封装器类是由Collections.synchronizedXxx等工厂方法创建的。这些类实现线程安全的方式是:将它们的状态封装起来,并对每个共有方法都进行同步,使得每次只有一个线程能访问容器的状态。(但这些类基本都被淘汰了)5.1.1 同步容器类的问题同步容器类都...

2017-11-27 18:13:45 317

原创 Java并发编程学习——《Java Concurrency in Practice》学习笔记 4.对象的组合

4.1 设计线程安全的类通过使用封装技术,可以使得在不对整个程序进行分析的情况下就可以判断一个类是否是线程安全的。再设计线程安全类的过程中,要包含的三个基本要素: - 找出构成对象状态的所有变量 - 找出约束状态变量的不变性条件 - 建立对象状态的并发访问管理策略分析对象的状态时,首先从对象的域开始。如果对象中所有的域都是基本类型的变量,那么这些域将构成对象的全部状态。如果在对象...

2017-11-27 18:13:04 269

原创 Java并发编程学习——《Java Concurrency in Practice》学习笔记 3.对象的共享

3.1 可见性在没有同步的情况下,编译器、处理器以及运行时都可能对操作的执行顺序进行一些意想不到的调整。因为它们会对代码的执行顺序进行“重排序”。在缺乏足够同步的多线程程序中,要想对内存操作的执行顺序进行判断,几乎无法得出正确的结论。 重排序 重排序指的是编译器和处理器为了优化程序性能而对指令序列进行重新排序的手段 重排序主要分为两类:编译器优化的重排序、指令级别并行的重排...

2017-11-27 18:12:20 394

原创 Java并发编程学习——《Java Concurrency in Practice》学习笔记 2.线程安全性

概述如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误。有三种方式可以修复这个问题: - 不在线程之间共享该状态变量 - 将状态变量修改为不可变的变量 - 在访问状态变量时使用同步Java语言没有强制要求将状态都封装在类中,然而,程序状态的封装性越好,就越容易实现程序的线程安全性。在某些情况中,良好的面向对象设计技术与实际情况的需求并不一致。在这些情...

2017-11-27 18:11:21 271

原创 Java并发编程学习——《Java Concurrency in Practice》学习笔记 1.简介

1.1 并发简史线程也被称为轻量级进程。在大多数现代操作系统中,都是以线程为基本的调度单位,而不是进程。1.2 线程的优势发挥多处理器的强大能力简化建模的复杂度简化异步事件的处理使用户界面响应的更加灵敏1.3 线程带来的问题安全性问题活跃性问题 —— 某件正确的事情最终会发生性能问题1.4 线程无处不在框架通过在框架线程中调用应用程序代码将...

2017-11-27 18:10:21 243

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除