最初想有没有必要写这类文章,网上相关的文章很多,有些更为透彻,自己再写一篇不免有重复造轮子的感觉. 但想想写文除了分享知识外也可以帮助自己总结归纳,也稍稍可以提高点自我满足感. 基本的线程阻塞原语,被用于创建锁和其他同步类上. 这个类的作用有点类似于Semaphore,通过许可证(permit)来联系使用它的线程.如果许可证可用,调用park方法会立即返回并在这个过程中消费这个许可,不然线程会阻塞.调用unpark会使许可证可用.(和Semaphores有些许区别,许可证不会累加,最多只有一张)…