2个线程依次打印出1到10的数

2021/4/20 10:27:13

本文主要是介绍2个线程依次打印出1到10的数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

之前想用wait()和notify的机制来做,没有成功。给一个lock信号量就可以了。

public class ThreadTest {
    private static int i = 1;

    private static boolean lock = false;

    private static Runnable runnable1 = () -> {
        while(i <= 10){
            if (!lock) {
                System.out.println(Thread.currentThread().getName() + "    " + i++);
                lock = true;
            }
        }
    };

    private static Runnable runnable2 = () -> {
        while(i <= 10){
            if (lock) {
                System.out.println(Thread.currentThread().getName() + "    " + i++);
                lock = false;
            }
        }
    };

    public static void main(String[] args){
        new Thread(runnable1).start();
        new Thread(runnable2).start();
    }
}

 

 



这篇关于2个线程依次打印出1到10的数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程