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