执键写春秋 执键写春秋
4年前
notifyAll唤醒线程的范围?
今天看到开源中国上有这样一个问答:假设我有两个对象锁,对象A锁有5个线程在等待,对象B锁有3个线程在等待,对象A锁中的线程执行完,这时调用notifyAll,是唤醒了对象AB两个锁的全部的等待线程还是只唤醒了A锁的5个线程?1.方法文档解释通过看该方法文档的解释,可以得出下面结论:notifyAll()中All的含义是所有的线程,而不是所有的锁,只能唤
Stella981 Stella981
3年前
Redis分布式锁的正确实现方式
前言分布式锁一般有三种实现方式:1.数据库乐观锁;2.基于Redis的分布式锁;3.基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。
Stella981 Stella981
3年前
Python的锁
互斥锁锁通常被用来实现对共享资源的同步访问。为每一个共享资源创建一个Lock对象,lLock()创建一个锁,初始状态是未锁定当你需要访问该资源时,调用l.acquire方法来获取锁对象(如果其它线程已经获得了该锁,则当前线程需等待其被释放),待资源访问完后,再调用l.release方法释放锁!(https:
Wesley13 Wesley13
3年前
MySQL表的几个简单查询语句
1. 创建数据库CREATE DATABASE databasename2. 删除数据库drop database dbname3\.创建新表create table tabname(col1 type1 \not null\ \primary key\,col2 type2 \not   null\,..)    
Wesley13 Wesley13
3年前
Mysql迁移到highgoDB如何实现ID自增长
目录环境文档用途详细信息环境系统平台:MicrosoftWindows(64bit)2012版本:5.6.4文档用途Mysql数据库迁移到HighGo数据库后,原Mysql表中自增长的ID如何保持自增长?详细信息分两种情况进行处理,具体如下:(1)数据库中已经存在表(tab1),而且已经有数据,而且
Wesley13 Wesley13
3年前
mysql查询优化explain命令详解
mysql查询优化的方法有很多种,explain是工作当中用的比较多的一种检查方式。explain翻译即解释,就是看mysql语句的查询解释计划,从解释计划我们能很清楚的看到解释的语句有没有合理用到索引,扫描了多少行数,有没有触及全表扫描、用到临时表等影响慢查询的原因。使用很简单,如explainselect\fromuse
Wesley13 Wesley13
3年前
MySQL中IS NULL、!=不能用索引?胡扯
不知道从什么时候开始,网上流传着这么一个说法:MySQL的WHERE子句中包含ISNULL、ISNOTNULL、!这些条件时便不能使用索引查询,只能使用全表扫描。这种说法愈演愈烈,甚至被很多同学奉为真理。咱啥话也不说,举个例子。假如我们有个表s1,结构如下:!MySQL中ISNULL、!不能用索引?胡扯(https://o
Wesley13 Wesley13
3年前
Mysql重置root密码遇到的坑(忘记密码)
1、原理通过配置参数“skip\_grant\_tables”在mysql启动时跳过grant\_tables(授权表),从而通过命令来充值root帐号的密码2、方式首先需要停止mysql服务(1)在my.ini文件的\mysqld\块下增加“skip\_gran
Wesley13 Wesley13
3年前
MySQL表的完整性约束
表的完整性约束为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。  约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种:NOTNULL:非空约束,指定某列不
3A网络 3A网络
2年前
详谈 MySQL 8.0 原子 DDL 原理
详谈MySQL8.0原子DDL原理背景MySQL5.7的字典信息保存在非事务表中,并且存放在不同的文件中(.FRM,.PAR,.OPT,.TRN,.TRG等)。所有DDL操作都不是CrashSafe,而且对于组合DDL(ALTER多个表)会出现有的成功有的失败的情况,而不是总体失败。这样主从复制就出现了问题,也导致基于复制的高可