自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 6.ReentrantReadWriteLock读写锁

ReentrantReadWriteLock读写锁前言一、创建二、常用方法二、demo1.读锁和写锁是互斥的,读写线程交替执行2.多个线程可以获得读锁,两个读线程并列执行3.试一下tryLock方法前言读写锁允许多个线程同时读。但是在写的时候只有一个线程能获得写锁,读锁和写锁是互斥的。所以当有一个线程获得读锁时所有其他线程的读写操作都会被阻塞一、创建ReentrantReadWriteLock lock = new ReentrantReadWriteLock(true);//公平锁Reent

2021-03-22 22:26:43 117

原创 5.Semaphore CountDownLatch 和 CyclicBarrier

Semaphore CountDownLatch 和 CyclicBarrier前言一、CountDownLatch常用方法demo二、Semaphore常用方法demo三、CyclicBarrier构造函数常用方法demo前言java并发包下提供的三个并发工具类。Semaphore CountDownLatch 和 CyclicBarrier一、CountDownLatchCountDownLatch能够等待另外一些线程完成各自工作之后,再继续执行。常用方法void countDown()

2021-03-22 22:02:56 61

原创 4.volatile关键字和synchronized关键字

文章目录volatile关键字问题场景:主线程修改stop为true之后thread线程可能停不下来第一段程序为什么停止不了:volatile修饰之后:volatile关键字的两层语义synchronized关键字1. 修饰一个代码块2. 修饰一个方法3. 修改一个静态的方法4. 修改一个类volatile关键字作用:volatile修饰的共享变量保证了不同线程对其进行操作时的可见性。问题场景:主线程修改stop为true之后thread线程可能停不下来public class Volatile

2021-03-16 22:08:43 60

原创 3.异步任务Future

异步任务Future前言1.如何使用1.1 步骤1.2 demo2.Executors四种线程池的区别前言通过Runable和Thread, 无法获取子线程的运行结果。需要获取异步执行后的任务可以通过Future+Executors实现。1.如何使用1.1 步骤1)通过Executors类去创建一个线程池2)创建Task, 实现Callable接口。 重写call()方法去实现任务3)通过Executors.submit()去创建子线程去执行任务。4)executorService.sh

2021-02-23 22:57:31 189 1

原创 2.ThreadPoolExecutor线程池

ThreadPoolExecutor线程池前言通过ThreadPoolExecutor来创建一个线程池4个构造函数参数说明线程池规则前言为什么要创建线程池:频繁的创建线程和关闭线程会占用系统资源,增加系统负担,降低系统性能线程池原理:请求保存下来(如:队列),等有可用线程时就让线程从队列里取出一个请求进行处理线程池大小:一般需要根据任务的类型来配置线程池大小, 如果是CPU密集型任务,就需要尽量压榨CPU,参考值可以设为 NCPU+1。如果是IO密集型任务,参考值可以设置为2*NCPU

2021-02-19 22:42:47 117

原创 1.java多线程基础

java多线程基础1. 线程的创建1.1 继承Thread 重写run方法1.2 实现runable2. 常用方法2.1 currentThread()2.2 start()2.3 yield()2.4 sleep()2.5 join()2.6 wait/notify3. 线程状态其他守护线程和用户线程1. 线程的创建 两种方法:继承Thread,实现runable.1.1 继承Thread 重写run方法public class MyThread extends Thread { @Overr

2021-01-28 22:25:44 183 1

空空如也

空空如也

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

TA关注的人

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