synchronized(someObject){
//对象锁
} 对象锁的使用说明: 1、对象锁的返还。 ? ? ? 当synchronize()语句执行完成。 ? ? ? 当synchronize()语句执行出现异常。 ? ? ? 当线程调用了wait()方法。 2、使用...
分类:
编程语言 时间:
2015-05-04 12:11:00
阅读次数:
121
有两种机制防止代码块受并发访问的干扰:1、一个是使用synchronized关键字。2、使用ReentrantLock类。(通过显示定义同步锁对象来实现同步。)同步锁(lock)方法是控制多个线程对共享资源进行访问的工具。通常,锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程...
分类:
其他好文 时间:
2015-04-23 13:04:56
阅读次数:
133
有两种机制防止代码块受并发访问的干扰:1、一个是使用synchronized关键字。2、使用ReentrantLock类。(通过显示定义同步锁对象来实现同步。)同步锁(lock)方法是控制多个线程对共享资源进行访问的工具。通常,锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程...
分类:
其他好文 时间:
2015-04-23 12:27:34
阅读次数:
147
Monitor类TryEnter()方法需要注意的地方:由于Monitor.TryEnter()执行本身也会获取锁对象(在返回true的情况下),所以根据“如果调用线程调用 Exit 与调用 Enter 的次数不同,则该锁不会被释放”的原则,如果不针对Monitor.TryEnter()返回ture...
分类:
编程语言 时间:
2015-04-19 15:52:02
阅读次数:
168
day24:多线程 【等待唤醒机制】 等待唤醒机制[Object] wait():让线程处于等待状态 notify():唤醒等待线程 实现或者重写父类方法,出现父类中没有的异常时,子类只能try catch。 wait():是Object类的方法,可以不用传参;释放锁对象 sleep():是Thre...
分类:
编程语言 时间:
2015-04-15 23:06:03
阅读次数:
187
首先我们知道创建线程有两种方式:
1.继承Thread类;2.实现Runnable接口。
但是这两这并非完全一样的。下面谈谈区别:
因为Java并不支持多继承的(接口是可以多继承接口的。不过一般我们不提),但支持多实现。当一个类继承了父类,就不能再继承Thread类,只能通过实现接口的形式创建线程。
继承Runnable接口更加符合面向对象的思想。线程分为两部分,一是线程对象,二是线...
分类:
编程语言 时间:
2015-04-10 15:44:44
阅读次数:
190
synchronized,wait,notify,notifyAll,类锁,对象锁...
分类:
编程语言 时间:
2015-04-08 23:29:23
阅读次数:
273
ReentrantLock是一个较为常用的锁对象。在上次分析的uil开源项目中也多次被用到,下面谈谈其概念和基本使用。概念一个可重入的互斥锁定 Lock,它具有与使用 synchronized 相同的一些基本行为和语义,但功能更强大。名词解释:互斥表示同一时刻,多个线程中,只能有一个线程能获得该锁。...
分类:
数据库 时间:
2015-03-17 12:04:37
阅读次数:
194
在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、ReadWriteLo...
分类:
编程语言 时间:
2015-03-11 20:01:37
阅读次数:
113
手动修改某表的记录,弹出以下错误:
然后尝试用PL/SQL语句修改记录,十多分钟过去了,一直显示正在执行;
结论:死锁了!!
查看被锁对象:
SELECT l.session_id sid,
s.serial#,
l.locked_mode 锁模式,
l.oracle_username 登录用户,...
分类:
数据库 时间:
2015-01-27 13:31:09
阅读次数:
161