首页 > 代码库 > Java 两线程交替打印奇偶数(一)
Java 两线程交替打印奇偶数(一)
使用synchronized 及 Object对象的wait()和notifyAll()方法, Code如下
package com.shiwei.thread; public class OddEvenRunable { private static Object lock = new Object(); public static void main(String[] args) { PrintNumber pOdd = new PrintNumber(true, lock); PrintNumber pEven = new PrintNumber(false, lock); Thread t1 = new Thread(pOdd); Thread t2 = new Thread(pEven); t1.start(); t2.start(); } } class PrintNumber implements Runnable{ Boolean flag; Object lock; public PrintNumber(Boolean flag, Object lock){ this.flag = flag; this.lock = lock; } public void run() { for(int i=1; i< 20; i=i+2){ synchronized(lock){ if(flag){ System.out.println("a---"+i); }else{ System.out.println("b---"+(i+1)); } lock.notifyAll(); try { lock.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
I. synchronized 锁住的是对象
//@TODO
II. Object wait(), notify() 和notifyAll()
//@TODO
Java 两线程交替打印奇偶数(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。