并发编程
文章平均质量分 92
索码理
阿里云专家博主,专注于Java技术领域,Java开发持续学习中,知道的越多,不知道的越多 ,路漫漫其修远兮,吾将上下而求索。
展开
-
Java中锁的分类,你了解几种?
Java中的锁是一种多线程编程中的同步机制,用于控制线程对共享资源的访问,防止并发访问时的数据竞争和死锁问题。原创 2023-06-13 16:23:36 · 1318 阅读 · 0 评论 -
如何停止一个线程?
停止线程时要选择优雅的方式,也就是使用标志位或者方法,同时在停止线程是要及时清理资源和状态,避免出现状态不一致的情况。原创 2023-05-17 08:30:00 · 623 阅读 · 1 评论 -
聊一聊Java中的悲观锁和乐观锁
聊一聊Java中的悲观锁和乐观锁原创 2023-04-11 10:13:41 · 1476 阅读 · 0 评论 -
简单对比一下synchronized、volatile、ReentrantLock
面试必背原创 2023-02-08 09:30:00 · 382 阅读 · 0 评论 -
全面了解ThreadPoolExecutor线程池各项参数
全面了解ThreadPoolExecutor线程池原创 2022-03-14 15:21:50 · 5100 阅读 · 12 评论 -
FutureTask详解
FutureTask介绍一个可取消的异步计算。FutureTask提供了对Future的基本实现,可以调用方法去开始和取消一个计算,可以查询计算是否完成并且获取计算结果。只有当计算完成时才能获取到计算结果,一旦计算完成,计算将不能被重启或者被取消,除非调用runAndReset方法。除了实现了Future接口以外,FutureTask还实现了RunnableFutureTask使用Futu......原创 2019-06-03 22:10:24 · 96920 阅读 · 3 评论 -
CountDownLatch解析
CountDownLatch简介CountDownLatch是一个同步辅助工具类,它允许一个或多个线程等待直到其他线程中一系列操作完成。latch有闭锁的意思,所以CountDownLatch又称闭锁。CountDownLatch初始化时必须给定一个count值,CountDownLatch使用...原创 2019-06-26 22:26:38 · 375 阅读 · 0 评论 -
java线程之等待/通知机制
等待通知机制一个线程修改了对象的值,而另一个线程感知了变化并进行相应操作,整个过程开始于一个线程而最终执行又是另一个线程。前者是生产者,后者是消费者,这种模式隔离了“做什么”和“怎么做”,在功能层面上实现了解耦,体系结构上具有良好的伸缩性。在java语言中如何实现呢?示例...原创 2019-05-24 15:50:09 · 820 阅读 · 0 评论 -
java多线程学习之ThreadLocal
ThreadLocal介绍ThreadLocal为每个使用它的线程提供单独的线程局部变量副本,每个线程都只能看到与自己关联的值,而不知道其他线程可能正在使用或者修改它们自己的副本。ThreadLocal采用空间换时间的方式来解决线程安全问题。ThreadLocal会把共享变量复制一份到本地线程内存中,然后在自己的线程内对变量副本进行操作,各个线程只操作自己的变量副本而不影响其他线程的变量副本。...原创 2019-06-09 22:17:30 · 276 阅读 · 0 评论 -
java线程学习之线程同步synchronized
synchronized学习线程安全性线程同步synchronized介绍对象锁和类锁synchronized使用线程安全性java支持多个线程访问同一个对象或者对象的成员变量,在并发编程中,这种被多个线程并发访问的资源称为临界资源。并且每个线程可以拥有对这个临界资源的拷贝,所以在程序执行过程中看到的变量不一定是最新的,无论何时只要有多于一个的线程访问给定的共享变量,而且其中某个线程会写入该变...原创 2019-03-29 13:27:58 · 828 阅读 · 1 评论 -
java 多线程基础学习
一、线程概念1、进程:程序运行资源分配的最小单位,每个进程都有自己独立的代码和数据空间,操作系统为进程分配各种资源。2、线程:CPU调度的最小单位,也叫轻量级进程,每个线程都有各自的堆栈、计数器和局部变量等属性。3、线程和进程关系:线程依赖于进程而存在,多个线程共享进程的内存空间。异步和同步:同步:在同一个线程中执行一段业务逻辑时,按顺序执行,在前面的结果没有返回时,后面...原创 2019-02-27 22:03:50 · 502 阅读 · 0 评论 -
java 常用线程池介绍
一、线程池简介线程池就是预先创建好多n个空闲线程,节省了每次使用线程时都要去创建的时间,使用时只要从线程池中取出,用完之后再还给线程池。就像现在的共享经济一样,需要的时候只要去“借”,用完之后只需还回去就行。“池”的概念都是为了节省时间而创建的。二、ExecutorJava SE5增加了juc包来简化并发编程,而juc包中的Executor执行器来管理Thread对象。Executo...原创 2018-10-21 21:40:16 · 292 阅读 · 0 评论