两个线程交替执行_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 两个线程交替执行

两个线程交替执行

 2015/5/13 9:49:37  zw7534313  程序员俱乐部  我要评论(0)
  • 摘要:publicclassTest{privateObjectobj=newObject();booleanflg;publicstaticvoidmain(String[]args){Testt=newTest();ThreadAa=t.newThreadA();ThreadBb=t.newThreadB();a.start();b.start();}classThreadAextendsThread{publicvoidrun(){while(true){synchronized(obj)
  • 标签:执行 线程

?

public class Test {
?private Object obj=new Object();
?boolean flg;
?

?public static void main(String[] args) {
??
??Test t=new Test();
??ThreadA a=t.new ThreadA();
??ThreadB b=t.new ThreadB();
??a.start();
??b.start();
??
?}
?
?
?class ThreadA extends Thread{

??public void run() {
???while(true){
???synchronized(obj){
????try {
?????if(flg){
??????obj.wait();
?????}
?????
????} catch (InterruptedException e) {
?????e.printStackTrace();
????}
????System.out.println("a");
????flg=true;
????obj.notify();
???}
??}
??}
??
?}
?
?class ThreadB extends Thread{

??public void run() {
???while(true){
???synchronized(obj){
????try {
?????if(!flg){
??????obj.wait();
?????}
????} catch (InterruptedException e) {
?????e.printStackTrace();
????}
????System.out.println("b");
????flg=false;
????obj.notify();
???}
??}
??}
?}

}

发表评论
用户名: 匿名