首页 > 代码库 > java多线程编程(2)交替输出数字和字母
java多线程编程(2)交替输出数字和字母
mark一下,不停的看看notify和wait的没有理解
class Printer{ int index=0; //输出奇数 public synchronized void printA(int a) { while(index%2==0) { try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } index++; System.out.println(a); notify(); } public synchronized void printB(char b) { while(index%2!=0) { try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } index++; System.out.println(b); notify(); } }public class 多线程1 { public static void main(String args[]) { Printer p=new Printer(); Thread t1=new Thread(new A(p)); Thread t2=new Thread(new B(p)); t1.start(); t2.start(); } }class A implements Runnable{ Printer p=null; public A(Printer p) { this.p=p; } @Override public void run() { // TODO Auto-generated method stub for(int i=1;i<=26;i++) { p.printA(i); } } }class B implements Runnable{ Printer p=null; public B(Printer p) { this.p=p; } public void run() { // TODO Auto-generated method stub for(char c=‘a‘;c<=‘z‘;c++) { p.printB(c); } } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。