1.闭锁用来等待事件,就是说闭锁用来等待的事件就是countDown事件,只有该countDown事件执行后所有之前在等待的线程才有可能继续执行;而栅栏没有类似countDown事件控制线程的执行,只有线程的await方法能控制等待的线程执行。
2.栅栏用来等待线程,CyclicBarrier强调的是n个线程,大家相互等待,只要有一个没完成,所有线程都得等着。
闭锁是一次性对象,一旦进入终止状态,就不能重置。而栅栏可以使一定数量的参入方反复的在栅栏位置汇集。
1.闭锁用来等待事件,就是说闭锁用来等待的事件就是countDown事件,只有该countDown事件执行后所有之前在等待的线程才有可能继续执行;而栅栏没有类似countDown事件控制线程的执行,只有线程的await方法能控制等待的线程执行。
2.栅栏用来等待线程,CyclicBarrier强调的是n个线程,大家相互等待,只要有一个没完成,所有线程都得等着。
闭锁是一次性对象,一旦进入终止状态,就不能重置。而栅栏可以使一定数量的参入方反复的在栅栏位置汇集。