线程交替打印奇偶数

线程交替打印奇偶数,第1张

线程交替打印奇偶数

1、这个一般面试编码可能会遇到,我这里通过实现Runnable接口、运用同步代码块和Object下提供关于线程的wait()、和notify方法。

2、当然你也可以通过继承Thread类和线程池实现(只开2个线程有点浪费),同时借助ReentrantLock锁(可重入锁)实现。

3、具体实现如下:

public class OddAndEvenNumber implements Runnable {
	
	static Object object=OddAndEvenNumber.class;
	static int i=0;
	@Override
	public void run() {
		while(i<=100) {
			synchronized (object) {
				object.notifyAll();
				System.out.println(Thread.currentThread().getId()+"****"+i);
				i++;
				try {
					object.wait();
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}
	
	
	public static void main(String[] args) {
		new Thread(new OddAndEvenNumber()).start();
		new Thread(new OddAndEvenNumber()).start();
	}
	
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5686015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存