随笔分类 - 多线程
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot 本文基于https://github.com/h2pl/Java-Tutorial的总结 Java7 HashMap(数组+链表) HashMap 里面是一个数组,然后数组中
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot 本文基于https://github.com/h2pl/Java-Tutorial的总结 Java 线程池 在线程池的使用过程中,我们是往线程池提交任务(task),提交的每
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot 本文基于https://github.com/h2pl/Java-Tutorial的总结 ReentrantReadWriteLock(读写锁)源码分析 ReentrantR
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot 本文基于https://github.com/h2pl/Java-Tutorial的总结 ###多线程的优缺点 多线程的优点: 资源利用率更好, 程序响应更快。 多线程的代价
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot 如果越多的资源被消耗在锁的管理和调度上,那么应用程序得到的资源就越少。 锁的实现方式越好,将需要越少的系统调用和上下文切换,并且在共享内存总线上的内存同步通讯量越少。 ###
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###线程池的好处 节省创建和销毁线程的巨大开销 不用等待创建线程而延迟任务,提高系统响应性 控制线程数量,防止内存耗尽 Executor的生命周期 Executor扩展了E
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot 无状态对象(既不包含任何域,也不包含任何其他类中域的引用)一定是线程安全的。 Final fianl域是不能修改的(但如果final域所引用的对象是可变的,那么这些被引用的对
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot package java.util.concurrent.locks; ###基本介绍 AbstractQueuedSynchronizer(队列同步器)可以看作是并发包(j
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot package java.lang; ###简介 ThreadLocal提供了线程的本地副本,也就是说每个线程将会拥有一个自己独立的变量副本。 对于同一个ThreadLoca
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###线程的生命周期包含5个阶段 新建、就绪、运行、阻塞、终止 新建(new Thread): 就是刚使用new方法,new出来的线程; 就绪(Runnable): 就是调用
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot Executor public interface Executor { void execute(Runnable command); } ExecutorService
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot java.util.concurrent public interface BlockingQueue<E> extends Queue<E> ###简介 当阻塞队列插入数据
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###简介 资源num==0:此时两个消费者线程都wait。 生产者执行num++后,唤醒了所有等待的线程。 此时这两个消费者线程抢占资源后立马执行wait之后的操作,即nu
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###中断的原理 Java中断机制是一种协作机制,中断并不能直接终止另一个线程,而需要被中断的线程自己处理中断。 java.lang.Thread类提供了几个方法来操作这个中
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot java.util.concurrent CyclicBarrier简介 CyclicBarrier:可重用屏障/栅栏 类似于 CountDownLatch(倒计数闭锁),它
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###乐观锁与悲观锁 synchronized是悲观锁: 每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁。 CAS操作的就是乐观锁(乐观锁在Java中的使
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###前言 Java 中 volatile、synchronized 和 final 实现可见性。 Java 中 synchronized 和在 lock、unlock 中操
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot java.util.concurrent public class ForkJoinPool extends AbstractExecutorService public a
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot java.util.concurrent public class FutureTask<V> implements RunnableFuture<V> ###简介 Futu
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot java.util.concurrent public class ScheduledThreadPoolExecutor extends ThreadPoolExecuto
阅读全文
