当前位置: 首页 > news >正文

dede 建设网站合肥网站系统建设公司

dede 建设网站,合肥网站系统建设公司,马鞍山网站建设咨询电,公司名称查重系统目录 1. 信号量Semaphore 2. CountDownLatch 1. 信号量Semaphore 信号量, 用来表示 可用资源的个数. 本质上就是一个计数器. 1.理解信号量 可以把信号量想象成是停车场的展示牌: 当前有车位 100 个. 表示有 100 个可用资源.当有车开进去的时候, 就相当于申请一个可…目录 1. 信号量Semaphore 2. CountDownLatch 1. 信号量Semaphore 信号量, 用来表示 可用资源的个数. 本质上就是一个计数器. 1.理解信号量 可以把信号量想象成是停车场的展示牌: 当前有车位 100 个. 表示有 100 个可用资源.当有车开进去的时候, 就相当于申请一个可用资源, 可用车位就 -1 (这个称为信号量的 P 操作)当有车开出来的时候, 就相当于释放一个可用资源, 可用车位就 1 (这个称为信号量的 V 操作)如果计数器的值已经为 0 了, 还尝试申请资源, 就会阻塞等待, 直到有其他线程释放资源.    Semaphore 的 PV 操作中的加减计数器操作都是原子的, 可以在多线程环境下直接使用. 2. 代码示例    创建 Semaphore 示例, 初始化为 4, 表示有 4 个可用资源.acquire 方法表示申请资源(P操作), release 方法表示释放资源(V操作)创建 20 个线程, 每个线程都尝试申请资源, sleep 1秒之后, 释放资源. 观察程序的执行效果. package SemaphoreTest;import java.util.concurrent.Semaphore;public class SemaphoreTest {public static void main(String[] args) {// 1.创建信号量 表示有4个可用资源Semaphore semaphore new Semaphore(4);// 2.创建一个可以执行的任务Runnable runnable new Runnable() {Overridepublic void run() {System.out.println(申请资源);try {semaphore.acquire();System.out.println(我获取到资源了);Thread.sleep(1000);System.out.println(我释放资源了);semaphore.release();} catch (InterruptedException e) {throw new RuntimeException(e);}}};for (int i 0; i 20; i) {Thread thread new Thread(runnable);thread.start();}} }2. CountDownLatch CountDownLatch: 同时等待 N 个任务执行结束. 好像跑步比赛10个选手依次就位哨声响才同时出发所有选手都通过终点才能公布名次成绩。 构造 CountDownLatch 实例, 初始化 10 表示有 10 个任务需要完成.每个任务执行完毕, 都调用 latch.countDown() . 在 CountDownLatch 内部的计数器同时自减.主线程中使用 latch.await(); 阻塞等待所有任务执行完毕. 相当于计数器为 0 了. import java.util.Map; import java.util.Random; import java.util.concurrent.CountDownLatch;public class CountDownLatchTest {public static void main(String[] args) throws InterruptedException {CountDownLatch latch new CountDownLatch(4);Runnable runnable new Runnable() {Overridepublic void run() {try {Thread.sleep((int)(Math.random() * 10000));latch.countDown();} catch (InterruptedException e) {throw new RuntimeException(e);}}};for (int i 0; i 4; i) {Thread thread new Thread(runnable);thread.start();}latch.await();System.out.println(结束);} }
http://www.dnsts.com.cn/news/144495.html

相关文章:

  • 建设网站的3个必要条件请写出网站建设的整个过程
  • 美容 网站源码html网站分页怎么做
  • 扬州高端网站制作电子销售网站模板免费下载
  • 青岛外贸网站制作百度官方网址
  • 网站管理系统模板wordpress 不同分类 不同主题
  • 商城网站建设的步骤中国房地产信息网官网
  • 做网站建网站公司网站上做网页怎么改图片
  • 网站开发文档范例竞价托管外包代运营
  • 网站开发三步资阳seo优化公司
  • 南昌做网站排名深圳建设工程质量协会网站
  • 网站建设的基本特点上海城隍庙好玩吗
  • 郎溪做网站云服务器学生优惠
  • 九江做网站的公司怎么登录已注册的网站
  • 网站增加关键字哈尔滨住房城乡建设局网站
  • 手机网站源码aspWordPress安装界面打不开
  • 移动 网站模板郑州网约车从业资格证
  • 公司网站策划网站建设软件用乐云践新
  • 主流网站模板网站项目怎么做的
  • 小程序app分销网站建设合同网站开发 设计 后期维护
  • 建网站点击率erp是什么办公软件
  • 网站建设优秀网网站备案详细最新流程
  • 潍坊网站制作推广模板之家下载的模板怎么打开
  • 最好用的免费建站平台人力资源培训
  • 学做网站要学哪些如何修改模板网站
  • 网站设建设深圳网站建设lxhd
  • 设计网站页面的作文做网站运营有趣吗
  • .net网站如何优化物流企业网站建设与管理规划书
  • 用什么建网站php 手机网站开发
  • 深圳市住房和建设局官方网站作业3 主题资源网站建设
  • 全球网站制作做外贸翻译用哪个网站好