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

个人可以建设头条网站吗做旅行社网站

个人可以建设头条网站吗,做旅行社网站,济南代理公司注册,wordpress中的联系在哪里一、CountDownLatch 1.原理 它内部维护了一个计数器#xff0c;该计数器初始化时设定一个数值#xff0c;表示需要等待的线程数量。每个线程执行完特定任务后会调用CountDownLatch的countDown()方法#xff0c;该方法会将计数器减一。同时#xff0c;另外一个或多个线程可…一、CountDownLatch 1.原理 它内部维护了一个计数器该计数器初始化时设定一个数值表示需要等待的线程数量。每个线程执行完特定任务后会调用CountDownLatch的countDown()方法该方法会将计数器减一。同时另外一个或多个线程可以通过await()方法来等待计数器变为0。一旦计数器为0所有等待的线程就会被唤醒继续执行。 2.主要方法 3.使用步骤 1.创建CountDownLatch对象并指定需要等待的线程数量。 2.在需要等待的线程中调用await()方法进行等待。 3.在其他线程中执行任务完成后调用countDown()方法减少计数器。 //定时计数器大小6 当计数器为0的时间就会释放所有等待线程final CountDownLatch latch new CountDownLatch(6);for (int i 1; i 20; i) {int finalI i;new Thread(()-{if (finalI % 2 0){try {latch.await();} catch (InterruptedException e) {throw new RuntimeException(e);}}else {//减小计数器latch.countDown();}System.out.println(Thread.currentThread().getName() 进门);},String.valueOf(i)).start();}try {//线程等待latch.await();} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(Thread.currentThread().getName() 出门购物);二、CvclicRarrier 1.原理 它允许一组线程在达到一个共同的屏障点barrier point之前互相等待。它的工作原理是当所有线程都到达屏障点时所有线程被释放并继续执行。 与CountDownLatch不同CyclicBarrier可以被重用因为它的计数器在达到零后会被重置为初始值并且可以在构造函数中指定一个Runnable任务当计数器达到零时该任务会被执行。 2.主要方法 3.使用步骤 1.创建CyclicBarrier对象构造函数需要传入两个参数参与同步的线程数量以及可选的Runnable任务当所有线程到达屏障点时执行 2.创建并启动参与同步的线程 这些线程应该在某个阶段需要等待其他线程一起执行后续操作时调用CyclicBarrier的await()方法 3.等待所有线程到达屏障点 当所有参与同步的线程都调用了await()方法后它们会在屏障点处被阻塞直到所有线程都到达屏障点。一旦所有线程都到达屏障点CyclicBarrier将会执行可选的Runnable任务如果提供了然后释放所有被阻塞的线程继续执行后续操作。 CyclicBarrier cyclicBarrier new CyclicBarrier(8, () - {System.out.println(召唤神龙成功);});for (int i1;i8;i){int finalI i;new Thread(()-{System.out.println(Thread.currentThread().getName() 收集 finalI 龙魂珠);try {cyclicBarrier.await();} catch (InterruptedException e) {throw new RuntimeException(e);} catch (BrokenBarrierException e) {throw new RuntimeException(e);}},String.valueOf(i)).start();}try {cyclicBarrier.await();} catch (InterruptedException e) {throw new RuntimeException(e);} catch (BrokenBarrierException e) {throw new RuntimeException(e);}System.out.println(孙悟空开始许愿);三、Semaphore 1.原理 一种用于控制对共享资源的访问的同步原语。它可以用于限制同时访问某一资源的线程数量或者用于在多个线程之间进行流量控制。 acquire(): 当一个线程希望访问共享资源时它需要调用 acquire() 方法来获取信号量。如果当前信号量计数为正则线程可以继续执行并且信号量计数减一如果当前计数为零则线程会被阻塞直到有其他线程释放信号量。 release(): 当一个线程完成对共享资源的访问时它需要调用 release() 方法来释放信号量。这会将信号量计数加一并且唤醒等待的线程。 2.主要方法 3.使用步骤可以作用于限流 1.创建 Semaphore 对象创建一个 Semaphore 对象。在创建 Semaphore 对象时您需要指定信号量的初始数量这决定了能够同时访问共享资源的线程数量。 2.获取信号量当一个线程希望访问共享资源时它需要调用 acquire() 方法来获取信号量。如果当前信号量计数为正则线程可以继续执行并且信号量计数减一如果当前计数为零则线程会被阻塞直到有其他线程释放信号量。 3.访问共享资源一旦线程成功获取了信号量它就可以访问共享资源了。在这个阶段线程可以执行需要访问共享资源的操作。 4.释放信号量当一个线程完成对共享资源的访问时它需要调用 release() 方法来释放信号量。这会将信号量计数加一并且唤醒等待的线程。 //线程数量 三个停车位 Semaphore semaphore new Semaphore(3); //六辆车 for (int i 1; i 7; i) {new Thread(()-{//acquire() 获取车位try {semaphore.acquire();System.out.println(Thread.currentThread().getName() 找到停车位);TimeUnit.SECONDS.sleep(2);System.out.println(Thread.currentThread().getName() 离开停车位);} catch (InterruptedException e) {throw new RuntimeException(e);} finally {//release()释放 离开车位 只有释放才可以让其他线程进入semaphore.release();}},String.valueOf(i)).start(); }
http://www.zqtcl.cn/news/903531/

相关文章:

  • 一个很好的个人网站开发做一个简单网页多少钱
  • 东莞在哪里学网站建设网站建设团队与分工
  • 网站功能插件昆明网站建设技术研发中心
  • 网站开发培训中心 市桥移动端ui
  • 高碑店地区网站建设上海排名十大装潢公司
  • 无锡自助建站网站还是新能源专业好
  • pc 手机网站 微站如何建设与维护网站
  • 大学生兼职网站开发毕设论文杭州网络排名优化
  • 做教育机器网站网站建设的步骤图
  • 桔子建站是什么平台郑州公司注册网上核名
  • 网站开发技能有哪些网站建设艾金手指科杰
  • 网站建设挂什么费用网站建设学那些课
  • 网站定位与功能分析在互联网公司做网站
  • 安阳网站建设兼职做网站推广有哪些公司
  • 网站制作的一般过程怎么用手机搭建网站
  • 备案 网站名称 怎么改深圳建网站公司
  • html 企业网站模板网站策划书免费
  • 网站建设销售ppt拖拽建站系统源码
  • 网站托管费用多少网站的开发流程
  • 周到的商城网站建设北京品牌网站
  • 网站开发费用属于什么科目网站建设考试多选题
  • c asp做网站wordpress4.5.2文章采集
  • 百度网站建设电话建立网站站建设可以吗
  • 网站后台代码在哪修改网站如何做下一页
  • 网站开发职业要求百度推广代理商与总公司的区别
  • 西安网站建设中心网页 网 址网站区别
  • 技术支持东莞网站建设机械seo岗位是什么意思
  • 做商城网站需要备案什么域名硬件开发工具有哪些
  • 网络网站制作技巧wordpress全文
  • 韩国原生ip站群服务器左右悬停代码网站