前言 日常开发中,秒杀下单、抢红包等等业务场景,都需要用到分布式锁。而Redis非常适合作为分布式锁使用。本文将分七个方案展开,跟大家探讨Redis分布式锁的正确使用方式。如果有不正确的地方,欢迎大家指出哈,一起学习一起进步。 公众号:捡田螺的小男孩 什么是分布式锁 方案一:SETNX + EXPI ...
分类:
其他好文 时间:
2021-03-09 13:12:05
阅读次数:
0
SELECT * FROM information_schema.innodb_trx 命令是用来查看当前运行的所以事务: 在执行结果中可以看到是否有表锁等待或者死锁,如果有死锁发生,可以通过下面的命令来杀掉当前运行的事务: KILL 165667 ; KILL 后面的数字指的是 trx_mysql ...
分类:
数据库 时间:
2021-03-08 13:33:51
阅读次数:
0
一、进程与线程的区别? 进程是所有线程的集合,每一个线程是进程中的一条执行路径,线程只是一条执行路径。 二、创建线程的三种方式: 继承Thread类创建线程类 实现Runnable接口 通过Callable和Future创建线程 三、创建线程池的四种方式:(参考1) newCachedThreadP ...
分类:
编程语言 时间:
2021-03-06 14:38:29
阅读次数:
0
配置防火墙问题 最近在服务器上部署项目时遇到了用ip访问不了的问题, 在一个纯洁的unbantu环境中 需要先安装防火墙 sudo apt install firewalld 然后启动防火墙 systemctl restart firewalld 我出现了防火墙被锁定的提示 Failed to re ...
分类:
其他好文 时间:
2021-03-06 14:21:48
阅读次数:
0
阅读目录 一.GIL(全局解释器锁) GIL面试题如下 描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因。 Guido的声明:http://www.artima.com/forums/flat. ...
分类:
编程语言 时间:
2021-03-06 14:14:42
阅读次数:
0
1.sleep和wait之间的差别 2.String和StringBuffer之间的差别 3.单例模式及应用场景 4.Redis应用场景 5.RabbitMQ应用场景 6.悲观锁和乐观锁 7 访问控制符 ...
分类:
其他好文 时间:
2021-03-05 13:17:36
阅读次数:
0
队列Queue模块 """ 管道:subprocess stdin stdout stderr 队列:管道+锁 队列:先进先出 堆栈:先进后出 """ from multiprocessing import Queue # 创建一个队列 q = Queue(5) # 括号内可以传数字 标示生成的队列 ...
分类:
编程语言 时间:
2021-03-05 13:10:29
阅读次数:
0
背景介绍: 在多线程的环境里,如果共享资源没有上锁,将会出现共享数据混乱的情况。 在单核CPU系统里,系统以时间片调度的方式让多个程序轮流使用处理器,造成了【并发】的假象。 在进程/线程并发执行的过程中,进程/线程之间存在协作的关系,比如互斥、同步。 什么叫进程互斥? 两个或两个以上的进程,不能同时 ...
分类:
编程语言 时间:
2021-03-03 12:23:58
阅读次数:
0
线程通信 等待: public final void wait(); public final void wait(long timeout); //必须在对obj加锁的同步代码块中,在一个线程中,调用obj.wait()时,此线程会释放其拥有的所有锁标记,同时此线程在无限期等待的状态中,释放锁,进 ...
分类:
编程语言 时间:
2021-03-03 12:10:36
阅读次数:
0
一句话总结: 简述口诀: synchronized,获取释放,虚拟机,降低死锁 Lock释放获取很随意,公平中断多同步 一:synchronized和Lock的比较 synchronized1:简单, 隐式地获取锁,将锁的获取和释放固化,也就是先获取再释放。 2多种优化方案(偏向锁,轻量锁) 3锁的 ...
分类:
其他好文 时间:
2021-03-02 12:29:27
阅读次数:
0