- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 redis的线程模型详解
- 一、模型原理解释 ** 1. 文件事件处理器 redis基于reactor模式开发了网络事件处理器,这个处理器叫做文件事件处理器,file event handler。这个文件事件处理器,是单线程的,redis才叫做单线程的模型,采用IO多路复用机制同时监听多个socket,根据socket上的事件来选择对应的事件处理器来处理这个事件。 如果被监听的socket准备好执行accept、read、write、close等操作的时候,跟操作对应的文件事件就会产生,这个时候文件事件处理器就会调用之前关联好的事
2020-10-26 15:09:49
345
原创 spring boot lua脚本实现redis分布式锁
一、maven坐标 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 二、加配置 spring: redis: database: 0 host: 127.0.0.1 port: 6379 pa
2020-05-20 16:20:01
479
原创 redis学习笔记-----五种数据类型以及常用命令基本操作
存储结构 1.字符类型 2.散列类型 3.列表类型 4.集合类型 5.有序集合 各种数据结构的使用 一个字符类型的key默认存储的最大容量是512M String 赋值和取值 赋值:给key:age 赋值 20 set key value 取值:取出key:age的值 get key 递增数字,redis 的命令 incr key 是原子操作 incr key 错误的演示(在...
2019-03-31 22:45:01
286
原创 RabbitMQ学习笔记-----基本使用
** RabbitMQ基本使用 ** 基本名词解释 控制台介绍 简单队列 如图所示 P:消息的生产者 C:消息的消费者 红色:队列 List item 下面是测试代码 生产者将消息发送到队列,消费者从队列中获取消息。 多对多使用(Work模式) Topic Exchange(主题模式) Fanout Exchange(订阅模式) ...
2019-03-22 14:09:06
387
原创 各种同步控制工具的使用-重入锁(ReentrantLock)
重入锁 /** * @ClassName: ReentrantLockTest * @Description: 重入锁 * @author: He LongYun * @date: 2019年3月2日 上午11:45:16 */ public class ReentrantLockTest implements Runnable { public static ReentrantLoc...
2019-03-02 12:57:58
240
原创 基本的线程同步操作——synchronized
基本的线程同步操作 指定加锁对象:对给定对象加锁,进入同步代码前要获得给定对象的锁 /** * @ClassName: SynchronizedTest @Description:指定加锁对象:对给定对象加锁,进入同步代码前要获得给定对象的锁 @author: He LongYun @date: 2019年2月1日 上午9:38:41 */ public class Synch...
2019-02-01 16:21:42
443
原创 线程优先级
线程优先级 高优先级的线程更容易再竞争中获胜 public final static int MIN_PRIORITY = 1; public final static int NORM_PRIORITY = 5; public final static int MAX_PRIORITY = 10; 测试代码: /** * * @ClassName: PriorityTest * @Des...
2019-01-31 16:18:28
227
原创 线程的基本操作——等待线程结束(join)和谦让(yeild)
等待线程结束(join)和谦让(yeild) join:主线程等待调用join线程执行完毕,再执行线面代码 yeild:释放资源,然后再和其他线程争取资源(cpu) 测试代码: /** * * @ClassName: JoinTest * @Description: 线程的基本操作-等待线程结束(join)和谦让(yeild) * @author: He LongYun * @date...
2019-01-31 14:46:54
562
原创 线程的基本操作-挂起(suspend)和继续执行(resume)线程
挂起(suspend)和继续执行(resume)线程 – suspend()不会释放锁 – 如果加锁发生在resume()之前 ,则死锁发生 测试代码: /** * * @ClassName: TestThread * @Description:挂起(suspend)和继续执行(resume)线程 * @author: He LongYun * @date: 2019年1月31日 ...
2019-01-31 14:05:20
2209
原创 线程的基本操作-线程中断
线程的基本操作-线程中断 public void Thread.interrupt() // 中断线程 public boolean Thread.isInterrupted() // 判断是否被中断 public static boolean Thread.interrupted() // 判断是否被中断,并清除当前中断状态 以下是测试代码 /** * * @Cl...
2019-01-31 13:48:34
221
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人