并发
醉死梦红尘丶
学学代码,写写代码
展开
-
集群高并发下如何保证分布式唯一全局id生成
集群高并发下如何保证分布式唯一全局id生成?id生成规则部分硬性要求:全局唯一趋势递增单调递增信息安全含时间戳id生成系统的可用性要求:高可用低延迟高qps一般通用方案UUID(只有唯一性)UUID.randoomUUID().toString()(不推荐)无序,无法预测她的生成顺序,不能生成递增有序的数字主键,id作为主键时再特定的环境会存在一些问题。索引,B+树索引的分裂小厂使用mysql:唯一性,递增(不适合)replace intoid自增分布式里原创 2020-12-12 12:36:26 · 325 阅读 · 1 评论 -
线程常用辅助工具类快速入门
简述countDownLatch:类似减法计数器,给计数器一个初始值,当运行一个线程给他计数器值减一( countDownLatch.countDown();),当计数器归零,唤醒 await()线程。适用场景:当需要其他线程执行一定数量时,在执行的任务;CyclicBarrier:类似加法计数器,给计数器一个初始值,当(cyclicBarrier.await();)等待线程数量够初始值数量时,开启线程;适用场景:需要多个线程同时执行时Semaphone:类似与抢车位,同一时间只能有指原创 2020-09-05 11:54:11 · 188 阅读 · 0 评论 -
数据库进阶MYSQL分层及其优化
1.mysql分层连接层:提供与客户端连接的服务服务层:1.提供各种用户使用接口,2提供sql优化器(写的语句和执行可能不一致)引擎层:提供了各种存储数据的方式InnoDB :事物优先,(适合高并发操作 使用行锁)MyISAM:性能优先(表锁)存储层:存储数据查询数据库支持哪些引擎:show engines;2.SQL优化2.1原因:性能低、执行时间长,等待时间长,sql语句欠佳(连接查询),索引失效、服务器参数设置不合理(缓冲、线程数)2.2sql优化:主要就是优化索引索原创 2020-09-04 21:34:46 · 377 阅读 · 0 评论 -
并发下的集合问题处理
多线程下操作集合public class ListTest { public static void main(String[] args) { List<String> list = new ArrayList<>(); for (int i=1;i<=10;i++){ new Thread(() -> { list.add(UUID.randomUUID().toString().sub原创 2020-09-03 18:14:33 · 202 阅读 · 0 评论