多线程面试题-顺序输出

多线程面试题-顺序输出,第1张

线程面试题-顺序输出 多线程面试题:编写程序,实现三个线程,运行输出 A1 B2 C3 A4 B5 C6 ……
public class Ex5 {
    AtomicInteger num=new AtomicInteger(0);
    ReentrantLock lock=new ReentrantLock(true);

    void work(){
        String n=Thread.currentThread().getName();
        while (true){
            lock.lock();
            try {
                TimeUnit.SECONDS.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.printf("%s%d ",n,num.incrementAndGet());
            if ("C".equals(n)){
                System.out.println();
            }
            
            lock.unlock();
        }
    }

    public static void main(String[] args) {
        var t=new Ex5();
        new Thread(t::work,"A").start();
        new Thread(t::work,"B").start();
        new Thread(t::work,"C").start();
    }

}
运行结果

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5684462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存