同步器是用来同步的。 什么是同步,简单说,同步就是有序。同步有级别,最高级别的是线性一致——在任何历史时刻你都知道发生了什么。
锁是一种同步器。锁住的临界区,多个线程来执行,排队进入,排队出去,进入有序状态。 这个是部分一致,因为谁先谁后,你不好判断。比如两个i++,究竟谁先执行,不好说。但是他们基本上,同步了,虽然不知道先后,但是不会并行(有序)。
CountDownLatch也是同步器,它设定了一个同步点。同步点之前的事情,和同步点之后的事情,会有序。同步点之前都走完,才走同步点之后的事情。 阻塞队列也同步器,它规定了元素入队、出队的顺序。