zoukankan      html  css  js  c++  java
  • java两个线程交替打印数字

    实现方法

    通过Object的通信wait,notify来实现两个线程的功能

    原理:
    需要一把锁,和一个可以通信的类,用锁来控制两个线程的竞争,用通信类来让线程 等待 和 唤醒

    public static void main(String[] args) {
            // 创建锁对象
            final Object object = new Object();
            // 创建线程A,开启线程
            new Thread(() -> {
                for (int i = 1; i < 100; i++) {
                    synchronized (object) {
                        System.out.println(Thread.currentThread().getName() + " " + i);
                        object.notify();
                        try {
                            object.wait();
                        }catch (Exception e){
                            e.printStackTrace();
                        }
                    }
                }
            }, "A").start();
    
            // 创建线程B
            new Thread(() -> {
                for (int i = 1; i < 100; i++) {
                    synchronized (object) {
                        System.out.println(Thread.currentThread().getName() + " " + i);
                        object.notify();
                        try {
                            object.wait();
                        }catch (Exception e){
                            e.printStackTrace();
                        }
                    }
                }
            }, "B").start();
        }
    
  • 相关阅读:
    视频解析小技巧
    linux系统路由设置
    tracert路由跟踪命令
    php+nginx
    docker快速拉取镜像
    linux命令
    添加docker命令
    linux模糊查询文件名
    查看日志
    模板函数与模板类
  • 原文地址:https://www.cnblogs.com/inkyi/p/15737324.html
Copyright © 2011-2022 走看看