1、多线程所带来的风险 ????1)安全性:安全性的定义是“永远不发生糟糕的事情”,线程冲突问题 ????2)活跃性:活跃性的定义是“某件正确的事情最终会发生”,线程死锁问题 ????3)性能问题:性能问...
分类:
编程语言 时间:
2015-07-10 19:23:56
阅读次数:
144
1:多线程(理解) (1)JDK5以后的针对线程的锁定操作和释放操作 Lock锁 (2)死锁问题的描述和代码体现 (3)生产者和消费者多线程体现(线程间通信问题) 以学生作为资源来实现的 资源类:Student 设置数据类:SetThread(生产者) 获取数据类:GetThread(...
分类:
编程语言 时间:
2015-07-10 13:11:18
阅读次数:
128
数据库死锁及解决死锁问题deadlocks(死锁)所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程.由于资源占用是互斥的,当某个进程提出申请资源后,...
分类:
数据库 时间:
2015-07-09 12:41:27
阅读次数:
173
项目中遇到的JVM难点——启动OSGi容器时,出现永久代内存不够。内存泄露——OSGi找不到类路径问题。——线程死锁问题。问题一:OSGi类内存问题 其次,从内存用量来看,OSGi允许不同版本的Package同时存在,这是个优点,但是客观上会占用更多内存。例如,一个库可能需要 ASM 3.0,而同....
分类:
其他好文 时间:
2015-07-02 00:52:26
阅读次数:
226
说起来这个事情还是挺悲催的,记得上周忙的不亦乐乎,目标是修改之前另外一个团队留下来的一坨代码中的一些bug,这个项目是做OLAP分析的,分为两个模块,逻辑服务器主要负责一些元数据的操作,例如页面上展示的一些信息,而分析服务器负责执行查询语句,因为他们之前使用的是mondrian作为OLAP分析引擎,所以输入的查询是MDX语句,然后结果是一个二维的数据。这是基本的项目背景,当然使用mondrian的...
分类:
其他好文 时间:
2015-06-08 21:38:39
阅读次数:
257
此文为转载文章,描述的很好,没有验证过。最近遇到了一个看上去很奇怪,分析起来很有意思的死锁问题。这个死锁看上去难以理解。而分析过程中,又使用了很多分析SQL Server死锁的典型方法。记录下来整个分析过程还是很有意义的。问题重现步骤:经过提炼,问题重现的步骤非常简单,在SQL 2008上可以很容易...
分类:
数据库 时间:
2015-05-30 10:33:11
阅读次数:
173
现象:发现运行在tomcat的应用,不管上多少个vuser模拟请求压力,只会耗用200%的cpu,测出应用的tps很低,近10次每秒。分析:1、网络的瓶颈排除2、执行jstack-l线程号>线程号.loglog如下:3、看出来了0x0000000751968760
的内存变量一个锁住,另一个在获取锁,出现死锁问题。..
分类:
其他好文 时间:
2015-05-20 09:59:01
阅读次数:
149
package hpu.acm.lzl.demos;
/**
* 模拟一个死锁的环境。
* 死锁就是用synchronized实现的。
* 一个线程使用synchronized 锁定一个方法之后 等待第二个线程释放资源完成第二个锁的操作。
* 另一个线程使用synchronized 锁定一个方法后 等待第一个线程释放资源完成第二个锁。
* 因此产生了 死锁
* @aut...
分类:
编程语言 时间:
2015-05-19 19:08:55
阅读次数:
142
最近在一次压力测试问题分析中,发现运行在tomcat的应用,不管上多少个vuser模拟请求压力,只会耗用200%的cpu,测出应用的tps很低,近10次每秒。经过分析,不是网卡的瓶颈,于是怀疑是内存锁的问题,于是就以下操作与分析。
步骤一:在linux环境上执行jstack -l 线程号 >线程号.log
步骤二:从.log发现如下问题0x0000000751968760 的内...
分类:
系统相关 时间:
2015-05-12 17:18:32
阅读次数:
209
最近在项目中进行压力测试遇到了数据库的死锁问题,简言之,如下的代码在 SERIALIZABLE 隔离级别造成了死锁:1234567891011121314SELECT@findCount=COUNT(id) FROMMyTableWHERE[fk_related_id]=@ArgumentIF (@...
分类:
数据库 时间:
2015-05-08 17:57:29
阅读次数:
232