读已提交级别: (1)查询使用的是主键时,只需要在主键值对应的那一个条数据加锁即可。 (2)查询使用的是唯一索引时,只需要对查询值所对应的唯一索引记录项和对应的聚集索引上的项加锁即可。 (3)查询使用的是普通索引时,会对满足条件的索引记录都加上锁,同时对这些索引记录对应的聚集索引上的项也加锁。 (4 ...
分类:
数据库 时间:
2020-01-08 23:19:12
阅读次数:
106
关于PHP的ts和nts的简介:ts(Thread-Safety)即线程安全:多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。php以ISAPI方式加载的时候选择这个版本.nts(None-ThreadSafe)即非线程安全:就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得
分类:
Web程序 时间:
2020-01-07 19:45:41
阅读次数:
485
基础知识:每一个对象都有一个监听器(monitor)且只有一个 synchronized锁可分为对象锁和静态锁, 顾名思义对象锁就是给实例对象进行加锁, 静态锁则是给类进行加锁 举个例子:好比上厕所, 第一个人进厕所后把厕所门锁住,后面的人就只能排队进等待, 直到前面一个人把厕所门打开 synchr ...
分类:
其他好文 时间:
2020-01-07 13:17:22
阅读次数:
84
来源:https://www.jianshu.com/p/de0b74f58f50 pcntl是一个可以利用操作系统的fork系统调用在PHP中实现多线程的进程控制扩展,当使用fork系统调用后执行的代码将会是并行的。pcntl仅适用于Linux平台的CLI模式下使用。 PHP官方没有提供多线程的扩 ...
分类:
Web程序 时间:
2020-01-06 09:51:26
阅读次数:
143
锁为何存在: 因为在并发情况为了保证线程的安全性,是在一个多线程环境下正确性的概念,也就是保证多线程环境下共享的、可修改的状态的正确性(这里的状态指的是程序里的数据),在java程序中我们可以使用synchronized关键字来对程序进行加锁。 当声明synchronized代码块的时候,编译成的字 ...
分类:
其他好文 时间:
2020-01-05 19:12:12
阅读次数:
92
前言说到CAS(CompareAndSwap),不得不先说一说悲观锁和乐观锁,因为CAS是乐观锁思想的一种实现。悲观锁:总是很悲观的认为,每次拿数据都会有其他线程并发执行,所以每次都会进行加锁,用完之后释放锁,其他的线程才能拿到锁,进而拿到资源进行操作。java中的synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。乐观锁:总是很乐观认为,自己拿到数据操作的时候,没有
分类:
其他好文 时间:
2020-01-03 22:56:36
阅读次数:
75
最近总结了一波死锁问题,和大家分享一下,我这也是从网上各种浏览博客得来,希望原作者见谅,参考博客地址都在下方。 一、Mysql 锁类型和加锁分析 1、锁类型介绍: MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁 ...
分类:
数据库 时间:
2020-01-03 00:46:09
阅读次数:
83
基础筑基 在大多数语言中原始map都不是一个线程安全的数据结构,那如果要在多个线程或者goroutine中对线程进行更改就需要加锁,除了加1个大锁,不同的语言还有不同的优化方式, 像在java和go这种语言其实都采用的是链表法来进行map的实现,本文也主要分析这种场景 并发安全的map实现的三种方式 ...
分类:
编程语言 时间:
2019-12-30 09:40:39
阅读次数:
64
本文来源:Java建设者 原文地址:https://mp.weixin.qq.com/s/GU42BjM5jY2CEMVD_PAZBQ Java 锁分类 Java 中的锁有很多,可以按照不同的功能、种类进行分类,下面是我对 Java 中一些常用锁的分类,包括一些基本的概述 从线程是否需要对资源加锁可 ...
分类:
编程语言 时间:
2019-12-29 18:09:23
阅读次数:
75
程序写日志文件时该不该加锁 日志(log) 为了让自己的思路更加清晰,下面我都会称日志为 log。因为日志这个词有两种含义,详情见百度百科释义或者维基百科释义。 日记的另一种说法。“志”字本身为“记录”的意思,日志就为每日的记录(通常是跟作者有关的)。 服务器日志(server log),记录服务器 ...
分类:
其他好文 时间:
2019-12-29 11:00:33
阅读次数:
107