大佬们,我有个问题,可以帮忙解决下吗。🥹🥹问题:两个线程交替打印0-100,当我使用了for循环,为什么会重复打印?结果是线程一打印0线程二打印0线程一打印1线程二打印1…线程一打印100线程二打印100当我把变量i改为static修饰为共享数据时,问题就解决了。但是我不是只new了一次pk对象,也就是说我不加static不也是两个线程共享变量i吗?那不应该不会重复打印吗?代码如下 谢谢大佬们class p2 { public static void main(String[] args) { pk p=new pk(); Thread t1=new Thread(p); Thread t2=new Thread(p); t1.setName(&quot;线程一&quot;); t2.setName(&quot;线程二&quot;); t1.start(); t2.start(); }}class pk implements Runnable{ public void run() { synchronized (this) { for(int i=0;i<=100;i++) { System.out.println(Thread.currentThread().getName()+&quot;在打印数字&quot;+i); notify(); try { wait(); } catch (Exception e) { throw new RuntimeException(); } } } }} #Java# #多线程#