快速业务通道

[JAVA100例]064、线程间通讯 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21

[JAVA100例]064、线程间通讯

时间:2011-01-09

/** * <p>Title: 线程间合作</p> * <p>Description: 本实例使用二个线程共同合作绘制一个实体三角。</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Filename: mainThread.java</p> * @version 1.0 */ public class mainThread{   public static int flag = 0;   int count = 10; /** *<br>方法说明:主方法 *<br>输入参数: *<br>返回类型: */   public static void main(String[] arg){    new mainThread();   } /** *<br>方法说明:构造器,启动两个子线程。 *<br>输入参数: *<br>返回类型: */   mainThread(){    thread1 t1 = new mainThread.thread1(this.count);    thread2 t2 = new mainThread.thread2(this.count);    //启动两线程    t1.start();    t2.start();    //让线程一首先工作。    flag = 1;   } /** *<br>类说明:内部类,继承了Thread, *<br>类描述:实现了在输出每行前面的空格。 */   class thread1 extends Thread{    int count1 = 0;    thread1(int i){     count1 = i;    }    public void run(){        while(true){     if(count1<=0) break;     if(mainThread.flag==1){          for(int i=0;i<count1;i++){       System.out.print(" ");      }      count1--;      mainThread.flag=2;      }     }    }   } /** *<br>类说明:内部类,继承了Thread, *<br>类描述:实现了在输出每行第“*”号。并提供换行。 */   class thread2 extends Thread{    int count2 = 0;    thread2(int i){     count2 = i;    }    public void run(){     int count = 0;     while(true){      if(count>=count2) break;      if(mainThread.flag==2){      for(int i=0;i<(count*2+1);i++){       System.out.print("*");      }      System.out.print("\n");      count++;      mainThread.flag=1;      }     }    }   } }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号