![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
多线程
多线程
紫金小飞侠
这个作者很懒,什么都没留下…
展开
-
新建线程池
线程池原创 2022-06-17 10:53:45 · 106 阅读 · 0 评论 -
jstack dump 日志文件中的线程状态
jstack Dump 日志文件中的线程状态转载 2021-08-13 16:42:58 · 80 阅读 · 0 评论 -
java Future和CompletableFuture的用法和区别
Future和CompletableFuture的用法和区别CompletableFuture 使用详解转载 2021-05-19 10:42:59 · 457 阅读 · 0 评论 -
Jstack线程状态BLOCKED/TIMED_WAITING/WAITING
Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释转载 2021-04-16 10:46:16 · 852 阅读 · 0 评论 -
线程池 核心线程,空闲时的保留个数
默认核心线程数不会被清除。keepAliveTime对核心线程数不起作用keepAliveTime:表示线程没有任务执行时最多保持多久时间会终止。默认情况下, 只有当线程池中的线程数大于corePoolSize时,keepAliveTime才会起作用,直到线程池中的线程数不大于corePoolSize,即当线程池中的线程数大于corePoolSize时,如果一个线程空闲的时间达到keepAliveTime,则会终止,直到线程池中的线程数不超过corePoolSize。但是如果调用了allowCore原创 2021-03-10 16:09:34 · 1261 阅读 · 0 评论 -
Java 定时任务框架---Quartz
简单说说Java 定时任务框架—Quartz转载 2021-01-19 10:06:43 · 83 阅读 · 0 评论 -
synchronized对象锁和全局锁
多线程同步锁synchronized(全局锁,对象锁)public class A {public synchronized void test() { System.out.println("test开始.."); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("test结束.."); }} cl原创 2020-12-17 20:19:21 · 351 阅读 · 0 评论 -
JMM+多线程
JMM(java内存模型)JMM的特性:线程间可见性原则性有序性 (禁止指令重排)JMM(java内存模型)之可见性JMM内存模型的可见性,只要有一个线程改变数据后要写回到主内存中,其它的线程马上就会知道主内存中的数据已经改变了。及一个线程改变一个共享对象的内容,改变及时通知其他线程volatilevolatile基本满足JMM的三个特性,除了原子性之外volatile特性:线程间可见性不保证原子性有序性 (禁止指令重排)...原创 2020-10-19 10:18:51 · 227 阅读 · 0 评论 -
java读写锁
使用读写锁要兼顾性能和安全性对于共享数据来说,如果说某个方法在访问它的时候,只是去读取,并不更新数据,那是不是就不需要加锁呢?还是需要的,因为如果一个线程读数据的同时,另外一个线程同时在更新数据,那么你读到的数据有可能是更新到一半的数据,这肯定是不符合预期的。所以,无论是只读访问,还是读写访问,都是需要加锁的。如果给数据简单地加一把锁,虽然解决了安全性的问题,但是牺牲了性能,因为,那无论读还是写,都无法并发了,跟单线程的程序性能是一样。实际上,如果没有线程在更新数据,那即使多个线程都在并发读,也是没有转载 2021-01-11 14:44:43 · 302 阅读 · 0 评论