public class Business {
//主线程、子线程关联的代码归为一类
public synchronized void sub(int i){
for(int j=0;j<10;j++){
System.out.println("sub thread"+i+"========"+j);
}
}
public synchronized void main(int i){
for(int j=0;j<10;j++){
System.out.println("main thread"+i+"========"+j);
}
}
}
//********************************
package com.ygl;
public class CommunicationRunnable implements Runnable{
private Business business;
public CommunicationRunnable() {
}
public CommunicationRunnable(Business business) {
this.business=business;
}
@Override
public void run() {
for(int i=1;i<=50;i++){
business.sub(i);
}
}
}
//*************************************************
package com.ygl;
public class TraditionalThreadCommunication {
public static void main(String[] args) {
Business business=new Business();
CommunicationRunnable communicationRunnable=new CommunicationRunnable(business);
Thread thread=new Thread(communicationRunnable);
thread.start();
for(int i=1;i<=50;i++){
business.main(i);
}
}
}