public class PrintSys{
/**
* 定义线程
* @param str
* @param num
*/
private synchronized void print(String str,int num){
notify();//唤醒某个线程
System.out.println(str+num);
try {
if(100!=num){
wait(); //设置线程休眠
}
}catch (InterruptedException e) {
e.printStackTrace();
}
}
// 打印基数线程
class Odd implements Runnable{
@Override
public void run() {
for(int i=1;i<100;i+=2){
print("奇数",i);
}
}
}
//打印偶数线程
class Even implements Runnable{
@Override
public void run() {
for(int i=2;i<=100;i+=2){
print("偶数",i);
}
}
}
/**
* main 打印线程
* @param args
*/
public static void main(String[] args) {
PrintSys p=new PrintSys();
Odd odd=p.new Odd();
Even even=p.new Even();
// 创建线程
new Thread(odd).start();
new Thread(even).start();
}
运行结果: