一、前言 对于并发编程而言,除了Thread以外,对Object对象的wati和notify对象也应该深入了解其用法,虽然知识点不多。 二、线程安全基本知识 首先应该记住以下基本点,先背下来也无妨: 同一时间一个锁只能被一个线程持有 调用对象的wait()和notify()前必须持有它 三、wait ...
分类:
编程语言 时间:
2016-12-24 02:34:23
阅读次数:
268
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17225469 wait()方法:public final void wait() throws InterruptedException,IllegalMonitorStateExcepti ...
分类:
编程语言 时间:
2016-12-19 22:12:21
阅读次数:
193
要注意ClassInstance == XXX 的情况,如果ClassInstance是基本数据类型的封装类且为null,会产生空指针错误。 Boolean对象就出现了这个问题,可能是基本数据类型的封装类会调用valueOf() Wait/notify wait()方法表示,放弃当前对资源的占有权, ...
分类:
编程语言 时间:
2016-12-14 14:27:43
阅读次数:
181
一、ThreadLocal 使用wait/notify方式实现的线程安全,性能将受到很大影响。解决方案是用空间换时间,不用锁也能实现线程安全。 来看一个小例子,在线程内的set、get就是threadLocal 1 public class ConnThreadLocal { 2 3 public ...
分类:
编程语言 时间:
2016-12-09 07:55:00
阅读次数:
283
wait notify 几个注意点: wait 与 notify/notifyAll 方法必须在同步代码块中使用,即要先对调用对象加锁。 当线程执行wait()时,会把当前的锁释放,然后让出CPU,进入等待状态。 当执行notify/notifyAll方法时,会唤醒一个处于等待该 对象锁 的线程,然 ...
分类:
编程语言 时间:
2016-12-04 17:30:46
阅读次数:
182
接上一篇:http://www.cnblogs.com/charlesblc/p/6097111.html 《Java并发学习 & Executor学习 & 异常逃逸 & 同步互斥Best Practice & wait/notify, conditon#await/signal》 原文参考:htt ...
分类:
编程语言 时间:
2016-11-26 17:20:54
阅读次数:
193
程序代码如下:publicclassMyQueue<E>{
//1.提供集合容器
privateList<E>list=newArrayList<E>();
//2.提供计数器
privateAtomicIntegercounter=newAtomicInteger();
//3.提供上限下限
privateintMAX;
privateintMIN=0;
//4.提供锁对象
privateObjectloc..
分类:
其他好文 时间:
2016-11-24 09:33:37
阅读次数:
226
sleep和wait的区别有: 1,这两个方法来自不同的类分别是Thread和Object 2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得敏感词线程可以使用同步控制块或者方法。 3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可 ...
分类:
其他好文 时间:
2016-11-22 17:02:33
阅读次数:
161
程序如下:publicstaticvoidmain(String[]args)throwsException{
finalListlist=newArrayList();
finalObjectlock=newObject();
Threadt1=newThread(newRunnable(){
@Override
publicvoidrun(){
synchronized(lock){
for(inti=0;i<10;i++){
list.add(i);
if(list.size..
分类:
编程语言 时间:
2016-11-22 07:50:39
阅读次数:
195
我们常用wait(),notify()和notifyAll()方法来进行线程间通信。线程检查一个条件后就行进入等待状态,例如,在“生产者-消费者”模型中,生产者线程发现缓冲区满了就等待,消费者线程通过消费一个产品使得缓冲区有空闲并通知生产者线程。notify()或notifyAll()的调用给一个或 ...
分类:
其他好文 时间:
2016-11-18 21:31:16
阅读次数:
182