初级会员
  • 第 67976 位会员
  • demon_li
  • 2021-06-26 12:41:10
  • Offline
  • 20 22

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • @jarlyyn 不是想用了lock,只是本地测试的时候,没有出现乱序,所以有些疑问。我的理解是go 应该出现乱序。
  • @zzustu 问题已知晓。我本地调试了很多遍,没有出现乱序,让其他人调试,出现了乱序,是预期的,所以go routine 也是不能保证顺序。我本意也是go 应该出现乱序。
  • package demon.research; public class BefortTest { public static Object lock = new Object(); public static void main(String[] args) { try{ Thread t = new Thread(new Runnable() { @Override public void run() { System.out.println("start"); synchronized (lock) { lock.notifyAll(); } System.out.println("end"); } }); t.start(); System.out.println("wait"); synchronized (lock) { lock.wait(); } System.out.println("end all"); } catch (Exception ex) { } } } 打印结果出现以下结果: wait start end all end 所以Java 代码一定有先行性的考虑,你的解释是不正确的。