并发编程篇
文章平均质量分 77
多线程、锁、并发编程相关
hywang94
这个作者很懒,什么都没留下…
展开
-
java中的常见锁
锁的种类: 一、悲观锁 重量级锁,会导致阻塞。每次在修改数据的时候,都认为其他线程会修改,所以都会加锁(读锁,写锁,行锁等),当其他线程需要访问数据的时候都会阻塞挂起.(类似java中的synchronized)如:排他锁,互斥锁 二、 乐观锁 本质是无锁,效率比较高、无阻塞、无等待、重试 通常在数据库表设计的时候,会有一个...原创 2019-12-23 22:40:08 · 266 阅读 · 2 评论 -
高并发编程Future模式
Future模式是多线程开发中非常常见的一种设计模式,它的核心思想是异步调用。当我们需要调用一个方法时,若该方法比较复杂,执行较慢,那么我们就要一直等待直到该方法执行结束,返回信息。但我们有时候并不急着要这个结果,而希望在这个方法在执行的时候可以做别的事情,而当我们需要这个结果的时候,再去获取这个结果。这个时候我们就可以用的Future模式。 Future模式相当于我们做出请求之后,并不会直接获...原创 2019-12-12 21:53:08 · 303 阅读 · 0 评论 -
高并发编程线程池篇
使用线程池的目的 降低资源消耗 通过重复利用已创建的线程降低线程创建和销毁造成的消耗 提高响应效率 当任务到达时,任务可以不需要等到线程创建就能立即执行 方便管理 线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。但是,要做到合理利用。 提交一个任务到线程池中...原创 2019-12-11 11:25:01 · 248 阅读 · 0 评论 -
高并发编程集合篇
传统的集合我导致线程不安全问题,于是我们应该使用线程安全的集合。 1、使用ConcurrentHashMap代替HashMap,ConcurrentHashMap内部进一步细分了若干个小的HashMap段,默认为16个。 2、ConcurrentSkipListMap:跳表的实现。是一个Map,使用跳表的数据结构进行快速查找,特点:有序的,平衡树,分层的列表、跳跃式查询、空间换时间。 3、使...原创 2019-11-30 11:43:20 · 681 阅读 · 0 评论 -
高并发编程基础篇
并发编程的基础,应该是离不开多线程,本问先简单介绍一下多线程的基础。 一、多线程实现方式 总所周知,有四种创建线程的方法,分别是: 1.继承Thread类 重写run方法 2.实现Runnable接口,重写run方法 3.匿名内部类方式 4.线程池 总的来说,都是围绕Thread类和Runnable接口来进行操作的,工作中使用最多的应该是...原创 2019-11-27 16:52:09 · 121 阅读 · 0 评论