多线程
文章平均质量分 62
并发
xqcode
积累知识是个漫长过程,学而不用容易淡忘,但是再捡起来就很快,所以只是为了自身快速捡起淡忘的知识的备忘录
展开
-
线程池相关问题
线程池怎么动态调整参数 被问到的时候我也被整蒙了。我知道线程池大概怎么使用,但是因为项目没使用到过,所以还真不知道怎么动态调整。唯一知道的是核心线程数与最大线程数的区别是核心线程数去工作队列取任务不会超时,所以线程一直存在,而多出来的线程数取任务会存在超时的情况,自然而然就结束了。当时因为不确定是否有此api可以运行时改变参数,所以不敢贸然回答。 ThreadPoolExecutor的几个参数就不去解释了。 我自己百度并且尝试了一下,发现衍生的4种线程池都没有相关的api设置参数,只有threadp原创 2021-11-23 10:35:21 · 333 阅读 · 0 评论 -
java并发包中的锁----CAS,AQS和相关实现及并发工具
synchronized synchronized的加锁方式前面介绍过了。参考链接: https://blog.csdn.net/qq_37822914/article/details/107189753 首先为了保证多线程的并发安全问题。 已经用了synchronized和volatile去保证了它的并发,但它们具有一定的缺陷: synchronized:虽然满足了各项要求。但是它的锁粒度太大。灵活性也并不是很强(比如读多写少的情况)。 volatile:不能保证原子性的操作。 所以才会在引入新的锁。 C原创 2020-07-19 17:19:14 · 181 阅读 · 0 评论 -
static关键字以及单例模式
static关键字 首先static的概念作用什么的大家都在网上看了很多了。所以这里以测试为主。主要测试静态代码块,静态变量以及静态内部类。 首先看一个测试。 package Collection; class StaticTT { public static int A = 4; static { System.out.println("exec static"); } } public原创 2020-07-14 22:55:16 · 357 阅读 · 0 评论 -
记一次synchronized的学习
博客上都是直到对象有3个部分:对象头、实例数据、填充数据。能不能具体看到? 引入一个maven包。 <dependencies> <!-- https://mvnrepository.com/artifact/org.openjdk.jol/jol-core --> <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</ar原创 2020-07-09 19:53:14 · 192 阅读 · 0 评论