Java 使用wait notify打印奇偶数是否具有更好的性能?

Java 使用wait notify打印奇偶数是否具有更好的性能?,java,multithreading,performance,Java,Multithreading,Performance,打印奇偶无需等待和通知即可实现,要了解等待通知比下面的代码性能更好吗 public class EvenOdd { public static void main(String[] args) { Thread t1= new ThreadToPrint("Even"); Thread t2= new ThreadToPrint("Odd"); t1.start(); t2.start(); } } class ThreadToPrint exten

打印奇偶无需等待和通知即可实现,要了解等待通知比下面的代码性能更好吗

  public class EvenOdd {

  public static void main(String[] args) {
    Thread t1= new ThreadToPrint("Even");
    Thread t2= new ThreadToPrint("Odd");
    t1.start();
    t2.start(); 
}
}

class ThreadToPrint extends Thread{
     static Integer count = 0;
     static int MAX = 100;
     static boolean printEven = true;

     public ThreadToPrint(String string) {
        super(string);
     } 

     @Override
    public void run() {
        while (count < MAX) {
                if ("Even".equals(Thread.currentThread().getName()) && printEven) {
                    System.out.println("*************"+Thread.currentThread().getName() + " Printing :" + count++);
                    printEven=false;
                } else if ("Odd".equals(Thread.currentThread().getName()) && !printEven) {
                    System.out.println(Thread.currentThread().getName() + " Printing :" + count++);
                    printEven=true;
                }
          }
      }
    }
公共类偶数{
公共静态void main(字符串[]args){
线程t1=新线程打印(“偶数”);
螺纹t2=新螺纹TOPRINT(“奇数”);
t1.start();
t2.start();
}
}
类ThreadToPrint扩展了Thread{
静态整数计数=0;
静态int MAX=100;
静态布尔print偶数=true;
公共ThreadToPrint(字符串){
超级(字符串);
} 
@凌驾
公开募捐{
同时(计数<最大值){
if(“偶数”.equals(Thread.currentThread().getName())&&print偶数){
System.out.println(“**********”+Thread.currentThread().getName()+”打印:“+count++”);
print偶数=假;
}else if(“Odd”.equals(Thread.currentThread().getName())&&&!print偶数){
System.out.println(Thread.currentThread().getName()+“打印:”+count++);
print偶数=真;
}
}
}
}

count和
print偶数
都是共享的、可变的,它们是相互依赖的,您应该原子地更改
count
print偶数
。这可能不是问题,因为
t2
在看到
t1
change
printfeen
之前无法打印,但您最好这样做。另一个问题:如果没有同步,
t1
可能看不到
t2
所做的更改。可能重复感谢Jason Low,同意第一个建议。。但我认为,如果没有同步,t1和t2可以看到变化,因为共享变量是静态的。。但问题是我是否需要使用同步来解决这个问题?同步会很快吗谢谢Ivan建议的帖子帮助我理解了一些概念。