多线程九 原子类 发表于 2019-02-06 | 分类于 多线程 JDK5提供原子类,及其操作 AtomicXXX是通过CAS , Unsafe.compareAndSwapInt实现的 简单分析一下原子类是如果使用cas,无锁却保证线程安全的 阅读全文 »
多线程八 Lock 发表于 2019-02-01 | 分类于 多线程 前面我们可以使用synchronized关键字来实现线程之间的同步互斥,lock接口同样也是在JDK1.5中提出,同样是解决线程安全性问题的另一种解决方案,而且它更强大,更灵活本片博客介绍对其展开介绍; 阅读全文 »
多线程七 AQS 发表于 2019-01-26 | 分类于 多线程 一 . 简介AQSAQS简介 在同步组件的实现中,AQS是核心部分,同步组件的实现者,通过使用AQS提供的模板方法 实现同步组件语义 阅读全文 »
多线程六 同步容器&并发容器 发表于 2019-01-22 | 分类于 多线程 同步容器(使用的是synchronized,并且不一定是百分百安全) 本篇续 – 线程之间的通信 ,介绍java提供的并发集合,既然正确的使用wait和notify比较困难,java平台为我们提供了更高级的并发容器来替代 阅读全文 »
多线程四 线程之间的通信 发表于 2019-01-17 | 分类于 多线程 一. 等待通知机制的实现 方法名 作用 wait() 执行当前代码的线程等待 wait(long timeout) timeout时间内若没有其他线程唤醒,也会醒过来 wait(long timeout, int nanos) 超出timeout和额外的时间nanos,没有被其他线程唤醒,也会醒过来 阅读全文 »
多线程三 synchronized&volatile 发表于 2019-01-15 | 分类于 多线程 synchronized(JVM实现的锁) 通过这两个关键字,我们可以很容易的实现同步多个任务的行为,可以实现同一时刻,只能有一条线程去访问共享资源 阅读全文 »
多线程二 基本技能 发表于 2019-01-10 | 分类于 多线程 前言 线程驱动任务,而我们需要的就是一种任务的描述,而这个描述由Runable接口来提供,想定义任务,只需要实现Runable接口并重写里面的run()就好 阅读全文 »