package com.bai.bean;
public class MyThread {
public static void main(String[] args) {
Num num=new Num();
//创建两个线程对象
Thread t1=new Thread(new jishu(num));
Thread t2=new Thread(new oushu(num));
t1.setName("奇数");
t2.setName("偶数");
//开启线程
t1.start();
t2.start();
}
}
class Num{
int number=1;
}
class jishu implements Runnable{
Num num;
public jishu(Num num) {
this.num = num;
}
@Override
public void run() {
while (true){
synchronized (num){
if (num.number%2==0){
try {
num.wait();
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
//获取当前线程的名字
System.out.println(Thread.currentThread().getName()+num.number);
num.number++;
num.notify();
}
}
}
}
class oushu implements Runnable{
Num num;
public oushu(Num num) {
this.num = num;
}
@Override
public void run() {
while (true){
synchronized (num){
if (num.number%2==1){
try {
num.wait();
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(Thread.currentThread().getName()+num.number);
num.number++;
num.notify();
}
}
}
}
Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数
原文:https://www.cnblogs.com/baijianming/p/13752940.html