GDB scheduler-locking 命令详解 GDB> show scheduler-locking //显示线程的scheduler-locking状态GDB> set scheduler-locking on //调试加锁当前线程,停止所有其他线程 set scheduler-locki ...
分类:
数据库 时间:
2017-10-20 13:20:51
阅读次数:
440
一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别 ...
分类:
数据库 时间:
2017-10-20 10:25:26
阅读次数:
176
初步理解MySQL的gap锁 初识MySQL的gap,觉得这个设计比较独特,和其他数据库的做法不太一样,所以整理一个简单的memo(虽然关于gap锁,相关资料已经很多了) 1. 什么是gap A place in an InnoDB index data structure where new va ...
分类:
数据库 时间:
2017-10-18 23:13:22
阅读次数:
294
1 svn checkout path(path是服务器上的目录) 2 例如:svn checkout svn://192.168.1.1/pro/domain 3 简写:svn co 2、往版本库中添加新的文件 1 svn add file 2 例如:svn add test.php(添加test ...
分类:
系统相关 时间:
2017-10-18 16:11:10
阅读次数:
219
首先进程就好比是一个线程的容器,可以用来看做是用来装线程,一个进程最少有一个线程,一个线程也最少有一个进程, 1.线程的缺点 线程开的越多则会导致内存占用过多 会导致并发从而导致死机 线程在管理和协调的过程中比较难(一般处理都是加锁) 2.线程的优点 增加cpu的利用率 提高程序的整体速度 3.线程 ...
分类:
编程语言 时间:
2017-10-16 22:01:21
阅读次数:
207
mysql 中的 latch锁和Tlock(事务锁), DML加锁规则,以及死锁分析。 一.Latch和Tlock的关系 Latch:为保护临界资源的正确性而设计,例如保护正在使用的内存页面不被破坏等。 没有死锁检测机制,轻量锁,并且作用对象时内存页面或是内存共享变量. Tlock:事务锁,作用对象 ...
分类:
数据库 时间:
2017-10-16 11:09:29
阅读次数:
200
ConcurrentHashMap是在jdk1.5版本开始,存在于java.util.concurrent包下。本文主要是针对jdk1.7版本。 由于HashMap是非线程安全的,HashTable虽然是线程安全的,但是它的实现是对整个哈希表加锁,这样的话,效率很低下。 ConcurrentHash ...
分类:
其他好文 时间:
2017-10-14 18:24:49
阅读次数:
171
【简述】 Copy-On-Write简称COW,是一种程序设计中的优化策略。 JDK里的COW容器分为两种:CopyOnWriteArrayList 和 CopyOnWriteArraySet。 CopyOnWrite容器即:写时复制的容器。通俗理解就是当我们往一个容器添加元素的时候,不直接网当前容 ...
分类:
其他好文 时间:
2017-10-14 17:10:23
阅读次数:
158
为了应对多线程问题;采取一个加锁解决,把门关上,但是每次调用方法都会经过锁,会影响性能,所以在外面再加一个判断。 synchronized同步块括号中的锁定对象是采用的一个无关的Object类实例,而不是采用this,因为getInstance是一个静态方法,在它内部不能使用未静态的或者未实例的类对 ...
分类:
其他好文 时间:
2017-10-14 17:03:14
阅读次数:
107
1、start()和run()的区别start()才是真正意义的实现了多线程,因为start会让线程处于就绪状态,不用等run运行结束就可以继续运行下面的代码,而如果直接调用run就是普通的方法调用,程序是顺序执行的 2、用哪个方法创建线程好点java只能单继承却能多实现,所以如果想要再继承别的类, ...
分类:
编程语言 时间:
2017-10-14 16:59:16
阅读次数:
183