自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(5)
  • 收藏
  • 关注

转载 Java多线程--创建和使用线程池

使用线程池的目的:线程是稀缺资源,不能频繁的创建。解耦作用;线程的创建于执行完全分开,方便维护。应当将其放入一个池子中,可以给其他任务进行复用。创建线程池的方式: 在 JDK 1.5 之后推出了相关的 api,常见的创建线程池方式有以下三种:Executors.newCachedThreadPool():无限线程池。...

2019-07-07 11:03:00 119

转载 Java多线程--公平锁与非公平锁

上一篇文章介绍了AQS的基本原理,它其实就是一个并发包的基础组件,用来实现各种锁,各种同步组件的。它包含了state变量、加锁线程、等待队列等并发中的核心组件,现在我们来看一下多线程获取锁的顺序问题。 1   /** 2 * Creates an instance of {@code ReentrantLock}. 3 * This is equiva...

2019-07-07 10:34:00 208

转载 Java多线程--AQS

ReentrantLock和AQS的关系首先我们来看看,如果用java并发包下的ReentrantLock来加锁和释放锁,是个什么样的:1 ReentrantLock reentrantLock = new ReentrantLock();2 reentrantLock.lock();3 //业务代码4 reentrantLock.unlock();上面...

2019-06-23 12:04:00 92

转载 Java多线程--原子性、可见性、有序性

计算机的内存模型:  计算机在运行行程序的时候,指令由CPU执行,计算机上数据存放在物理内存当中,CPU在执行指令的时候免不了要和数据打交道。刚开始,还相安无事的,但是随着CPU技术的发展,CPU的执行速度越来越快。而由于内存的技术并没有太大的变化,所以从内存中读取和写入数据的过程和CPU的执行速度比起来差距就会越来越大,这就导致CPU每次操作内存都要耗费很多等待时间,可是总不能让内...

2019-06-23 10:40:00 157

转载 Java多线程--CAS

在Java多线程并发的情况下同时对一个变量进行操作会出现线程安全的问题,假如我们现在使用20个线程对一个变量不停累加1,代码如下: 1 public class ThreadDemo implements Runnable { 2 private int num = 0; 3 @Override 4 public void run() { ...

2019-06-16 17:37:00 92

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除