侧边栏壁纸
  • 累计撰写 59 篇文章
  • 累计创建 0 个标签
  • 累计收到 17 条评论

Java有两个线程都循环输出1-10,启动这两个线程后,使得输出112233.....

小熊博客
2021-08-12 / 0 评论 / 0 点赞 / 1,052 阅读 / 386 字
温馨提示:
本文最后更新于 2021-09-17,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

利用Java线程工具类LockSupport

LockSupport.pack()//阻塞当前线程

LockSupport.unpack()//指定线程解除阻塞

解答如下

        static Thread t1, t2;
        public static void main(String[] args) {
            t1 = new Thread(() -> {
                for (int i = 1; i <= 10; i++) {
                    System.out.println(i);
                    LockSupport.unpark(t2);
                    LockSupport.park();
                }
            });
            t2 = new Thread(() -> {
                for (int i = 1; i <= 10; i++) {
                    LockSupport.park();
                    System.out.println(i);
                    LockSupport.unpark(t1);
                }
            });
            t1.start();
            t2.start();
        }
0

评论区