随笔分类 -  多线程

摘要:说到redis就不得不提到jedis和redisson,这两个对于redis的操作各有优劣,具体的分析可以百度搜索,本文通过redisson来实现分布式锁。 1、引入依赖 <dependency> <groupId>org.redisson</groupId> <artifactId>redisso 阅读全文
posted @ 2022-04-07 12:00 浪迹天涯的派大星 阅读(286) 评论(0) 推荐(0) 编辑
摘要:1、Runable和Callable Java里面实现多线程的三种方式:一、是继承Thread类;二、实现Runable接口;三、实现Callable接口。 第一种方式继承Thread,然后重写run(); 第二种方式实现Runable接口,然后实现run(); public interface R 阅读全文
posted @ 2022-03-25 16:43 浪迹天涯的派大星 阅读(103) 评论(0) 推荐(0) 编辑
摘要:说到多线程肯定要理解锁,锁可以分为悲观锁和乐观锁,比如独占锁就是悲观锁,synchronized就是一种独占锁。 何为悲观,认为每一次操作数据,都可能会发生冲突,所以采用的策略是,先锁定再访问,保证在加锁阶段只有自己可以操作数据。何为乐观,就是我认为大多数情况下,操作的数据不会发生冲突,所以不会加锁 阅读全文
posted @ 2022-03-25 15:35 浪迹天涯的派大星 阅读(84) 评论(0) 推荐(0) 编辑
摘要:锁的状态分为4种,无锁、偏向锁、轻量级锁、重量级锁其实涉及到锁的升级,随着线程竞争的加大,从偏向锁->轻量级锁->重量级锁,且升级过程不可逆 问:为什么会有锁升级?直接就上重量级锁不好吗?答:因为重量级锁性能不好。 问:为什么重量级锁性能不好?答:因为加锁和解锁过程,涉及到CPU用户态切换到内核态再 阅读全文
posted @ 2022-03-25 15:30 浪迹天涯的派大星 阅读(121) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示