亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用多線程實現輸出1-a 2-b 3-c 4-d ..........26-z

標簽:
Android

1.缓冲类

package demo07;

public class Buffer {

private static final int maxCount=1;//最大存储线程数量

private int  ch;

private int  charnum='a'-1;//字母a-z

private int num=0;//数字1-26

public Buffer(int ch){

this.ch=ch;

}

synchronized public void outNumbers(int ch){

while(this.ch+ch>maxCount){

    try {

this.wait();

} catch (Exception e) {

e.printStackTrace();

}

}

this.num++;

System.out.print(this.num+"--");

this.ch+=ch;

this.notifyAll();

}

synchronized public void outChars(int ch){

while(this.ch<maxCount){

try {

this.wait();

} catch (Exception e) {

e.printStackTrace();

}

}

this.charnum+=1;

System.out.println((char)this.charnum);

this.ch-=ch;

this.notifyAll();

}

}

2.数字输出类

package demo07;

public class Numbers extends Thread{

private Buffer buffer;

private int ch;

public Numbers(Buffer buffer,int ch){

this.buffer=buffer;

this.ch=ch;

}

@Override

public void run() {

this.buffer.outNumbers(ch);

}

}

3.字母输出类

package demo07;

public class CharNumbers extends Thread{

private Buffer buffer;

private int ch;

public CharNumbers(Buffer buffer,int ch){

this.buffer=buffer;

this.ch=ch;

}

@Override

public void run() {

this.buffer.outChars(ch);

}

}

4.测试类

package demo07;

public class Test {

/**

 * @param args

 */

public static void main(String[] args) {

Buffer buffer=new Buffer(0);

for(int i=0;i<26;i++){

Thread num=new Numbers(buffer,1);

Thread charnum=new CharNumbers(buffer,1);

num.start();

charnum.start();

    }

}

}

原文链接:http://www.apkbus.com/blog-813041-61024.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消