摘要:
共享对象 可见性 确保跨线程写入的内存可见性,必须使用同步机制。 案例: 主程序运行可能会出现0的情况,程序运行存在“重排序”的问题。 过期数据 导致意外的异常、脏数据、错误的计算和无限的循环。 非原子性的64位操作 double long数值变量最好声明为volatile类型或用锁保护起来,JVM 阅读全文
posted @ 2016-12-11 21:30
John95
阅读(686)
评论(0)
推荐(0)
摘要:
锁机制 java提供的内部锁机制 1、synchronized对象的引用 2、synchronized块:跨越整个方法的代码块 3、内部锁:都为互斥锁,意味着至多只有一个线程可以拥有锁 4、同步机制带来了性能问题 servlet应用案例 5、可重入 线程试图请求自己的锁会成功。 意味着所有的请求基于 阅读全文
posted @ 2016-12-11 21:29
John95
阅读(113)
评论(0)
推荐(0)
摘要:
线程安全性 线程安全:核心在于对状态访问操作的管理,特别是对共享的、可变的状态的访问。 共享:意味着变量可以被多个线程同时访问。 可变:意味着变量的值可以在生命周期内发生变化。 竞争条件 1、检查再运行:通过潜在的过期观察值来做决策或执行计算。 星巴克案例 2、检查再运行的常见错误用法:延迟初始化对 阅读全文
posted @ 2016-12-11 21:28
John95
阅读(152)
评论(0)
推荐(0)
摘要:
线程的优势 1、线程是基本的调度单元 2、单处理器系统,多线程可以提高吞吐率 3、多处理器系统,多线程可以提高CPU利用率 4、建模的简单,使用线程可以将复杂的工作流分解为一组简单的同步的工作流,每个工作流在每个单独的线程中运行,并在特定的同步的位置进行交互。 5、异步事件的简化处理 单线程阻塞IO 阅读全文
posted @ 2016-12-11 21:25
John95
阅读(121)
评论(0)
推荐(0)

浙公网安备 33010602011771号