会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
MoKai
博客园
首页
新随笔
联系
订阅
管理
2019年10月25日
如何在项目中使用Spring异步调用注解@Async
摘要: 本文主要介绍如何使用Spring框架提供的异步调用注解@Async,异步线程池配置、异常捕获处理。 开启@Async注解支持 使用@Async注解的之前,必须在项目中启动时调用@EnableAsync注解。比如通过定义一个JavaConfig文件: 异步调用 使用@Async异步执行无返回值的任务
阅读全文
posted @ 2019-10-25 00:29 kk03
阅读(972)
评论(0)
推荐(0)
2019年10月24日
《Java并发编程实战》读书笔记-第一部分 基础知识小结
摘要: 并发技巧清单 可变状态是至关重要的 所有的并发问题都可以归结为如何协调对并发状态的访问。可变状态越少,就越容易确保线程安全性。 尽量将域声明为final类型,除非需要它们是可变的。 不可变对象一定是线程安全的。 不可变对象能极大的降低并发编程的复杂性。他们更为简单而且安全,可以任意共享而无须使用加锁
阅读全文
posted @ 2019-10-24 23:15 kk03
阅读(106)
评论(0)
推荐(0)
《Java并发编程实战》读书笔记-第5章 基础构建模块
摘要: 同步容器类 同步容器类实现线程安全的方式:将所有状态封装起来,对每个公有方法使用同步,使得每一次只有一个线程可以访问。同步容器类包含:Vector、Hashtable、Collections.synchronizedXXX等 同步容器类的问题 1. 复合操作原子性需要客户端来加锁控制 2. 每个操作
阅读全文
posted @ 2019-10-24 23:15 kk03
阅读(107)
评论(0)
推荐(0)
《Java并发编程实战》读书笔记-第4章 对象的组合
摘要: 设计线程安全的类 三个基本要素: 找出构成对象状态的所有变量 找出约束状态变量的不变性条件 建立对象状态的并发访问管理策略 实例封闭 将数据封装在对象内部,可以将数据的访问限制在对象的方法上,从而更容易确保线程在访问数据时总能持有正确的锁。 线程安全性的委托 如果一个类是由多个独立且线程安全的状态变
阅读全文
posted @ 2019-10-24 23:14 kk03
阅读(116)
评论(0)
推荐(0)
《Java并发编程实战》读书笔记-第3章 对象的共享
摘要: 可见性 在没有同步的情况下,编译器、处理器以及运行时都可能做指令重排。执行结果可能会出现错误 volatile变量 编译器与运行时不会进行指令重排,不会进行缓存,使用volatile变量要满足以下条件: 对变量的写入不依赖变量当前值,或者确保单个线程更新变量 该变量不会与其他状态变量一起纳入不变性条
阅读全文
posted @ 2019-10-24 23:13 kk03
阅读(112)
评论(0)
推荐(0)
《Java并发编程实战》读书笔记-第2章 线程安全性
摘要: 要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的和可变的状态的访问。 修复多线程问题的方式: 不在线程之间共享该状态变量 将状态变量修改为不可变的变量 在访问状态变量时使用同步 什么是线程安全性 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替运行
阅读全文
posted @ 2019-10-24 23:12 kk03
阅读(90)
评论(0)
推荐(0)
《Java并发编程实战》读书笔记-第1章 简介
摘要: 并发简史 在早期的计算机中不包含操作系统,从头至尾都只执行一个程序,并且这个程序能访问计算机所有资源。操作系统的出现使得计算机每次能运行多个程序,并且不同的程序都在单独的进程中运行:操作系统为各个独立执行的进程分配内存、文件句柄、安全证书等。不同进程之间通过一些粗粒度的通信机制交换数据,包括:套接字
阅读全文
posted @ 2019-10-24 23:10 kk03
阅读(110)
评论(0)
推荐(0)
公告