锁粗化 虚拟机遇到一连串连续的对同一锁不断的进行请求和释放的操作,把所有的锁操作整合成对锁的一次请求 锁偏向 轻量级锁 子旋锁 锁消除 ...
分类:
其他好文 时间:
2018-08-12 12:16:04
阅读次数:
126
在处理业务代码时,总会遇到多线程对同一资源竞争,此时对已经抢到资源的线程做Lock。 这里暂时先不考虑 是否是公平锁,是否可以重入的情况。 给出实现代码,key为加锁的维度。 ...
分类:
其他好文 时间:
2018-07-11 19:39:42
阅读次数:
149
我们在使用Thread时,在使用线程同步时可能会出现死锁,而死锁产生的原因是: 例: 两个类中各有两个方法,而这四种发放同步,比如顾客与服务员解决“先付款还是后付款”的问题时,就会产生死锁。 死锁产生的条件: 互斥条件 请求保持条件 不可剥夺条件 环路等待 死锁的原因: 资源竞争和进程顺序推进不当 ...
分类:
编程语言 时间:
2018-06-29 11:04:45
阅读次数:
171
MySQL查询缓存保存查询返回的完整结果。当查询命中该缓存,会立刻返回结果,跳过了解析,优化和执行阶段。 查询缓存会跟踪查询中涉及的每个表,如果这写表发生变化,那么和这个表相关的所有缓存都将失效。 但是随着服务器功能的强大,查询缓存也可能成为整个服务器的资源竞争单点。默认这个开关是关闭的,就是禁止使用query_cache,查询是否使用语句如下:mysql> SHOW V
分类:
数据库 时间:
2018-06-19 16:26:10
阅读次数:
218
转自:http://blog.sina.com.cn/s/blog_6c0541d50102wxen.html 一、数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设 ...
分类:
数据库 时间:
2018-06-19 10:28:20
阅读次数:
245
在一个程序里的一个执行路线(routine)就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”。一切进程至少都有一个执行线程。进程与线程 进程是资源竞争的基本单位 线程是程序执行的最小单位线程共享进程数据,但也拥有自己的一部分数据 线程ID 程序计数器 PC指针 寄存器组 ...
分类:
系统相关 时间:
2018-06-15 22:37:10
阅读次数:
170
kvm有个叫做超分的概念,根据这个特性可以分配出超出物理机配置的数台虚拟机。 以下是自己总结的一些划分技巧: 一、最保守方法(性能最好) 根据物理机的资源,按虚拟机的数量叠加但不超过物理机的总和。不超过物理机也就是不存在资源竞争问题,性能达到最优。 二、超分概念(性能相对较差,存在资源竞争) Red ...
分类:
其他好文 时间:
2018-06-15 13:09:26
阅读次数:
135
前面文章针对CPU、内存、磁盘、语句、等待讲述了SQL SERVER的一些基本的问题诊断与调优方式。为了方便阅读给出导读文章链接方便阅读: SQL SERVER全面优化 Expert for SQL Server 诊断系列 这篇我们来说说TempDB,这个系统数据库如何进行优化,怎么样平衡他的使用。 ...
分类:
数据库 时间:
2018-06-12 10:30:25
阅读次数:
163
一、何为死锁 采用多线程是为了改善系统资源的利用并提高系统的处理能力。然而,在实际使用过程中,会遇到新的问题——死锁。所谓死锁,就是多个线程因为资源竞争而造成的一种互相等待的状态,若无外力作用,这种状态会一直维持。 二、死锁的原因 举个死锁产生的例子: 三、如何避免死锁 1.加锁顺序(线程按照一定的 ...
分类:
编程语言 时间:
2018-05-30 19:25:13
阅读次数:
172
线程 我们都知道一个程序的执行是由进程来完成的,而进程里真正执行代码却是有线程来完成,它是真正的执行流。通常将一个程序?里一个执?行路线就叫做线程(thread)。对它更准确的定义是:线程是“一个进程内部的控制序列” 。而一切进程都至少有一个执行线程。 总的来说进程与线程关系就是 ①进程是资源竞争的 ...
分类:
编程语言 时间:
2018-05-25 19:37:09
阅读次数:
212