java多线程实现轮流输出数字和字母-创新互联

本案例演示3个线程轮流打印输出数字字母;代码如下

成都创新互联是专业的福贡网站建设公司,福贡接单;提供成都网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行福贡网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
package thread;

public class ThreadTest {
   public static void main(String[] args) {
     Print print = new Print();
     new Thread(()->{
       print.printNum();
     }).start();

     new Thread(()->{
       print.printZimu();
     }).start();

     new Thread(()->{
       print.printZimuLittle();
     }).start();
   }
}
package thread;

import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

public class Print {
   final Lock lock = new ReentrantLock();
   final Condition num = lock.newCondition();
   final Condition zimu = lock.newCondition();
   final Condition zimuLittle = lock.newCondition();

   public void printNum(){
     lock.lock();
     try {
       for (int i=1;i<53;i++){
         System.out.print(i);
         if (i%2==0){
           zimu.signal();
           num.await();
         }
       }
     } catch (InterruptedException e) {
       e.printStackTrace();
     } finally {
       lock.unlock();
     }
   }

   public void printZimu(){
     lock.lock();
     try {
       for (int i=0;i<26;i++){
         System.out.print((char)(i+'A'));
         zimuLittle.signal();
         zimu.await();
       }
     } catch (InterruptedException e) {
       e.printStackTrace();
     } finally {
       lock.unlock();
     }
   }

   public void printZimuLittle(){
     lock.lock();
     try {
       for (int i=0;i<26;i++){
         System.out.print((char)(i+'a'));
         num.signal();
         zimuLittle.await();
       }
     } catch (InterruptedException e) {
       e.printStackTrace();
     } finally {
       lock.unlock();
     }
   }
}

最终输出结果为12aA34bB56cC78dD910eE1112fF1314gG1516hH1718iI1920jJ2122kK2324lL2526mM2728nN2930oO3132pP3334qQ3536rR3738sS3940tT4142uU4344vV4546wW4748xX4950yY5152zZ

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:java多线程实现轮流输出数字和字母-创新互联
网站网址:http://bzwzjz.com/article/cdpiod.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站制作 外贸网站建设 成都网站制作 成都网站建设 做网站设计 成都企业网站制作 成都营销网站制作 成都网站建设 成都网站建设 成都网站制作 定制网站建设 移动网站建设 网站建设费用 成都网站设计 重庆企业网站建设 成都网站建设 手机网站建设套餐 梓潼网站设计 成都商城网站制作 企业网站建设公司 品牌网站建设 重庆手机网站建设