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(); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)