11 2018 档案

摘要:ReentrantLock是Java并发包中提供的一个可重入的互斥锁。ReentrantLock和synchronized在基本用法,行为语义上都是类似的,同样都具有可重入性。只不过相比原生的Synchronized,ReentrantLock增加了一些高级的扩展功能,比如它可以实现公平锁,同时也可 阅读全文
posted @ 2018-11-29 11:57 chen_hao 阅读(6427) 评论(2) 推荐(3) 编辑
摘要:本文将讲解CountDownLatch,CyclicBarrier和Semaphore这三个并发包里面的辅助类。 本文将讲解CountDownLatch,CyclicBarrier和Semaphore这三个并发包里面的辅助类。 CountDownLatch 正如每个Java文档所描述的那样,Coun 阅读全文
posted @ 2018-11-23 15:23 chen_hao 阅读(2541) 评论(0) 推荐(3) 编辑
摘要:本文将讲解volatile关键字和 atomic包,为什么放到一起讲呢,主要是因为这两个可以解决并发编程中的原子性、可见性、有序性,让我们一起来看看吧。 本文将讲解volatile关键字和 atomic包,为什么放到一起讲呢,主要是因为这两个可以解决并发编程中的原子性、可见性、有序性,让我们一起来看 阅读全文
posted @ 2018-11-16 16:45 chen_hao 阅读(9137) 评论(3) 推荐(14) 编辑
摘要:这篇博客介绍线程安全的应用——单例模式。 单例模式 单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。 双重校验锁 实例: /** * @author: ChenHao * 关于懒 阅读全文
posted @ 2018-11-04 10:41 chen_hao 阅读(1614) 评论(4) 推荐(2) 编辑
摘要:这篇博客介绍线程的生命周期。 线程是一个动态执行的过程,它也有从创建到死亡的过程。 线程的几种状态 在 Thread 类中,有一个枚举内部类: 上面的信息以图片表示如下: 第一张图: 第二张图:把等待、计时等待、阻塞看成阻塞一个状态了 1、新建状态(new):使用 new 创建一个线程,仅仅只是在堆 阅读全文
posted @ 2018-11-03 13:12 chen_hao 阅读(1653) 评论(1) 推荐(3) 编辑
摘要:上文创建多线程买票的例子中注释会出现错票、重票的问题,本文来讲讲如何解决此问题。本文例子:利用多线程模拟 3 个窗口卖票 上文创建多线程买票的例子中注释会出现错票、重票的问题,本文来讲讲如何解决此问题。本文例子:利用多线程模拟 3 个窗口卖票 实现Runnable接口 public class Te 阅读全文
posted @ 2018-11-02 17:26 chen_hao 阅读(1507) 评论(2) 推荐(4) 编辑
摘要:并发和并行 并行:指两个或多个时间在同一时刻发生(同时发生); 并发:指两个或多个事件在一个时间段内发生。 在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单 CPU 系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行 阅读全文
posted @ 2018-11-02 10:58 chen_hao 阅读(1943) 评论(2) 推荐(8) 编辑

点击右上角即可分享
微信分享提示