substance
substance
全部文章
未归档
题解(7)
归档
标签
去牛客网
登录
/
注册
substance的博客
做最好的自己
全部文章
/ 未归档
(共176篇)
自定义线程工厂
package com.ydlclass.thread; import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicInteger; public class myThreadFacto...
2022-04-26
0
353
线程工厂的基本介绍
默认线程工厂的实现类源码: 线程工厂的主要工作就是创建线程,但是java提供的线程工厂对于线程的名字取法比较严格; 可以使用jdk中的工具查看:(jdk1.8下面的jvmm工具,打开之后可以看到线程线程之间的关系,排查是否存在死锁) 线程工厂中创建线程时使用了多个参数的构造器来实现:分别为,线程组...
2022-04-25
0
367
自定义线程池
1.背景: 由于jvm自带的线程池其中的阻塞队列大部分是使用LinkedBlockedQueue队列实现,而这个类的实现可能是不加限制的;所以当所做的项目足够的大时;可能会产生OOM;所以就比较有必要的使用自定义的线程池;; 2:使用线程池运行任务不会主动停止,需要使用shutdown()方法完成停...
2022-04-24
0
406
线程池的源码
随便点击执行器所调用的方法:可以看到这些静态方法都返回线程池;并且这些线程池有着不同的构造方法,对应着不同的线程池; 1: 2: 3: 4: 5: 6: 7:线程池的参数介绍: handler:表示,线程的数量已达到最大,并且队列也满了;这是新来的线程需要拒绝掉;是一种拒绝的策略; 8...
2022-04-24
0
252
线程池
1.创建线程,销毁线程是十分消耗资源的,所以不妨为其创建一个“池子”,专门的存放这些线程,使用完毕之后也不销毁,而是保留在那边,等待下一次的使用;为了很好的管理线程; 2.jdk自带的线程池: a.newCachedThreadPool:创建一个可缓存的线程池,来一个任务就创建一个线程;但是执行完成...
2022-04-24
0
265
原子类
原子类:是指在多线程的环境下,原子类具有原子性,即表示当前的操作是不可被中断的。 常见的院子类: 使用原子类不加锁的方式,也不加volatile关键字,实现一个线程安全的加法器; package com.ydlclass.thread; import com.ydlclass.lock.Thre...
2022-04-24
0
280
lock()与tryLock()的区别(ReentrantLock)
首先观察公平锁或者非公平锁的lock()方法,这个方***直接调用acquire的方法,这个方***调用tryacquire()方法,在此之前不存在线程等待的过程。只有tryacquire失败之后才会存在线程的的挂起;所以使用lock方法一定让需要资源的线程获得锁; 而tryLock只是lock的一...
2022-04-24
0
769
公平锁和非公平锁的区别
公平锁源码: 非公平锁的源码: 为了看这个tryacquire: 第一:非公平锁获取锁的方式,如果资源是可用的,那么非公平锁上来就先试着cas改变资源的占用;失败了就调用acquire;但是公平锁不会抢着获取; 第二个:在tryAcquire尝试获得资源的时候,产生差异;非公平锁尝试获得资源...
2022-04-21
0
369
ReentrantLock:unlock()方法所做的事情;
2022-04-21
0
193
ReentrantLock之unlock()源码
1.lock()方法主要是使用sync调用release()方法;这个方法,不像之前acquire方法那样可能会出现不同得方法,release()方法是AQS的方法。 尝试释放锁,如果释放锁成功,则唤醒下一个等待的线程; tryRelease()主要是把资源被重入的次数依次减掉,如果当前的线程不...
2022-04-21
0
353
首页
上一页
4
5
6
7
8
9
10
11
12
13
下一页
末页