当前位置: 首页> 汽车> 维修 > 我的家乡网页制作代码_好用的手机网站主页_信息发布网站有哪些_长春今日头条新闻

我的家乡网页制作代码_好用的手机网站主页_信息发布网站有哪些_长春今日头条新闻

时间:2025/8/23 19:53:23来源:https://blog.csdn.net/weixin_44038236/article/details/142535784 浏览次数: 0次
我的家乡网页制作代码_好用的手机网站主页_信息发布网站有哪些_长春今日头条新闻
  • AtomicInteger 提供原子性的加减,比较。

  • Semaphore信号量(对synchronized和ReentrantLock的一种扩展)基于AQS的
    • 可以指定多个线程同时访问某一资源(同一时间可允许指定个数线程同时访问某一资源)
    • newSemaphore(3) 必须设置可以同时访问某一资源的线程数,并且默认获得的是非公平锁
      • 比如一共创建9个线程,每组三个,这三组线程内部先后执行肯定是无序的,但是组与组之间,其实也是无序的,不一定先创建的线程,会优先获得准入许可
    • newSemaphore(3,true),指定是公平锁
      • 比如一共创建九个线程,每组三个,这三组线程内部是无序的,组与组之间是有序的,先创建的线程会优先成为一组
    • acquire()获得准入许可,若无法获得许可,线程会等待,直到线程释放一个许可或者当前线程被中断
    • acquireUninterruptibly() 能力和acquire一样,但是不响应中断
    • tryAcquire() 带返回值的,获取许可,成功就返回true,失败就返回false,(也可以带时间参数的)
    • Release()释放许可

  • ReentrantReadWriteLock读写锁:允许多个线程同时读,即读锁和读锁之间是非阻塞的,其余读写/写写都会阻塞

  • CountDownLatch倒计时器(面试常问和CyclicBarrier区别

主线程创建CountDownLatch实例并定义计数个数(比如2个),主线程执行countDownLatch.await()后被阻塞,子线程1调用countDownLatch.countDown(),子线程2调用countDownLatch.countDown(),经过2次countDown后主线程被激活,继续执行下面的逻辑

  • CyclicBarrier循环栅栏 (与CountDownLatch类似,但它支持反复使用)

主线程创建CyclicBarrier并定义计数(比如2),子线程1执行一次cyclicBarrier.await() 进入阻塞等待,子线程2执行一次cyclicBarrier.await() 达到2次,则该两个子线程可继续执行下面逻辑,并且可分别继续执行cyclicBarrier.await(),达到两次后,又可分别解除阻塞

关键字:我的家乡网页制作代码_好用的手机网站主页_信息发布网站有哪些_长春今日头条新闻

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: