文章分类 - java并发编程实战
摘要:概述 对性能的思考 Amadhl定律 线程引入的开销 减少锁的竞争 减少上下文切换的开销 package chapter10; import java.util.concurrent.BlockingQueue; /** * @author zhen * @Date 2018/11/23 10:23
阅读全文
摘要:概述 死锁 package chapter9; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * @author zhen * @Date 2018/11/21 14:1
阅读全文
摘要:在任务与执行策略之间的隐性耦合 设置线程大小 配置ThreadPoolExecutor 扩展ThreadExecutor 递归算法的并行化
阅读全文
摘要:概述 任务取消 概述 中断 中断策略 响应中断 计时运行 通过Future实现取消 处理不可中断的阻塞 采用newTaskFor封装非标准的取消 停止基于线程的服务 概述 日志服务 关闭ExecutorService “毒丸”对象 只执行一次的服务 shutdownNow的局限性 处理非正常的线程终
阅读全文
摘要:概述: 1、在线程中执行任务 package chapter6; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; /** * @author zhen * @Date 2018/11/
阅读全文
摘要:概述 同步容器类 /** * @author zhen * @Date 2018/10/31 17:47 * 隐藏在字符串连接中的迭代操作 */ public class HiddenIterator { @GuardedBy("this") private final Set<Integer> s
阅读全文
摘要:概述 设计线程安全的类 package chapter4; import common.GuardedBy; import common.ThreadSafe; /** * @author zhen * @Date 2018/10/26 11:39 */ @ThreadSafe public fin
阅读全文
摘要:概述 可见性 发布与逸出 package chapter3; /** * @author zhen * @Date 2018/10/11 10:20 * 使内部的可变状态逸出(不要这么做) */ public class UnsafeStates { private String[] states
阅读全文
摘要:概述 线程或者锁在并发编程中的作用,类似于铆钉和工字梁在土木工程中的作用。但这些终归是一些机制,要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的和可变的状态的访问。 什么是线程安全性? 原子性 @NotThreadSafe public class UnsafeCountin
阅读全文
摘要:早期计算机->操作系统加入->线程与进程早期计算机不包含操作系统,它们从头到尾只执行一个程序,并且这个程序能访问计算机所有资源。 加入操作系统主要是基于以下原因:资源利用率、公平性、便利性操作系统使得计算机每次能运行多个程序,并且不同的程序在单独的进程中运行。在不同进程之间可以通过一些粗粒度的通信机
阅读全文