首页 > 编程语言 > 详细

Java 多线程中。两个线程交替执行,一个输出偶数,一个输出奇数

时间:2020-09-30 10:12:05      阅读:84      评论:0      收藏:0      [点我收藏+]
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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!