阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变...
分类:
其他好文 时间:
2014-05-30 13:05:41
阅读次数:
284
阻塞的I/O线程不会被打断,需要关闭资源才能打断package
Thread.Interrupting;import java.io.IOException;import java.io.InputStream;import
java.net.ServerSocket;import java.net...
分类:
编程语言 时间:
2014-05-30 12:46:44
阅读次数:
301
Nhibernate并发控制【1】悲观并发控制
正在使用数据的操作,加上锁,使用完后解锁释放资源。使用场景:数据竞争激烈,锁的成本低于回滚事务的成本缺点:阻塞,可能死锁【2】乐观并发控制:
所谓乐观,就是乐观的认为其他人没有在用该资源,资源的使用者不加锁。 A 读取数据后,如果该数据被别...
分类:
系统相关 时间:
2014-05-30 05:44:34
阅读次数:
301
大家使用多线程无非是为了提高性能,但如果多线程使用不当,不但性能提升不明显,而且会使得资源消耗更大。下面列举一下可能会造成多线程性能问题的点:死锁过多串行化过多锁竞争切换上下文内存同步下面分别解析以上性能隐患死锁关于死锁,我们在学习操作系统的时候就知道它产生的原因和危害,这里就不从原理上去累述了,可...
分类:
编程语言 时间:
2014-05-30 05:23:55
阅读次数:
316
1.Wait()和Notify、NotifyAll都是Object的方法2.多线程的协作是通过控制同一个对象的Wait()和Notify()完成3.当调用Wait()方法时,当前线程进入阻塞状态,直到有另一线程调用了该对象的Notify()方法package
Thread.Wait;import j...
分类:
编程语言 时间:
2014-05-30 00:24:04
阅读次数:
328
channel 不仅能够控制数据传输,还可以控制执行流。1.
关闭的channel从来都不会阻塞关闭的channel不能传数据但是可以接受数据,例子```package mainimport "fmt"func
main() { ch := make(chan bool, 2) ...
分类:
其他好文 时间:
2014-05-30 00:08:36
阅读次数:
250
QMutex类提供了一种保护一个变量和一段代码的方法。mutex.lock()
//锁住互斥量(mutex)。如果互斥量是解锁的,那么当前线程就立即占用并锁定它。否则,当前线程就会被阻塞,知道掌握这个互斥量的线程对它解锁为止。mutex.unlock()//解锁mutex.tryLock()//尝试...
分类:
其他好文 时间:
2014-05-29 23:19:56
阅读次数:
441
$.ajax(function(){ type : "get",
//获取的方式get或是post async:
false,//同步和异步问题,为true的时候表示异步,A方法执行完后执行B,默认值为false的时候,表示A和B可以同步执行 cache:
true,//表示有没有缓存,当为...
分类:
其他好文 时间:
2014-05-29 18:09:59
阅读次数:
244
数据库产生阻塞(Blocking)的本质原因 :SQL语句连续持有锁的时间过长 ,数目过多,
粒度过大。阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象。
但是阻塞的时间和出现频率要控制在一定的范围内,阻塞持续的时间过长或阻塞出现过多(过于频繁),就会对数据库性能产生严重的...
分类:
数据库 时间:
2014-05-29 10:46:10
阅读次数:
616
原文:SQL Server 监控统计阻塞脚本信息 数据库产生阻塞(Blocking)的本质原因
:SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大。阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象。
但是阻塞的时间和出现频率要控制在一定的范围内,阻塞持续的时间过长或阻...
分类:
数据库 时间:
2014-05-29 08:28:08
阅读次数:
608