- 博客(3)
- 资源 (3)
- 收藏
- 关注
原创 如何理解Condition
多线程可以提高工作效率,则免不了线程之间互相通信。 wait跟notify是老的方法,每个对象会有一个监视器,有一个就绪队列,一个阻塞队列。 t1、t2、t3表示三个线程,当三个线程启动了,在线程run方法中,调用了wait,就会把运行的线程放到阻塞队列, t1 t2 t3 当某个线程调用了notify方法,会在阻塞队列中,取出一个线程,继续执行,默认取t1
2017-12-28 10:19:31 280
原创 Java Join机制
主线程执行时间较短,子线程执行时间较长,则主线程执行完成了,子线程还在执行中。如果主线程要等子线程执行完成,就可以用Join方法。 说明Join方法是一个阻塞性方法。可以结合源代码去理解: 其中关键一段: while(isAlive){ wait(0) } 表示当前执行的线程,需要等待。也说明了join会释放当前线程的锁。 ThreadA{ Public void
2017-12-26 11:34:31 643
原创 Java Condition 控制多线程有序工作
Condition的作用: 相当与Notify跟Wait,Notify只能唤醒等待队列中的某一个线程,通常是先wait的线程。 But Condition.Notify 可以唤醒指定等待的线程。 举个列子,定义condition1\condition2 如果线程1 使用condition1.await,线程2用condition2.await,线程3使用condition1.notify只能
2017-12-25 10:07:28 386 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人