美文网首页
多线程同步交替打印奇偶数

多线程同步交替打印奇偶数

作者: 成虎日记 | 来源:发表于2021-02-05 10:42 被阅读0次

    public class PrintSys{

        /**

        * 定义线程

        * @param str

        * @param num

        */

        private synchronized void print(String str,int num){

          notify();//唤醒某个线程

          System.out.println(str+num);

          try {

              if(100!=num){

                wait();  //设置线程休眠

              }

          }catch (InterruptedException e) {

              e.printStackTrace();

          }

        }

        // 打印基数线程

        class Odd implements Runnable{

            @Override

            public void run() {

              for(int i=1;i<100;i+=2){

                  print("奇数",i);

              }

            }

        }

        //打印偶数线程

        class Even implements Runnable{

            @Override

            public void run() {

                for(int i=2;i<=100;i+=2){

                    print("偶数",i);

                }

            }

        }

        /**

        * main 打印线程

        * @param args

        */

        public static void main(String[] args) {

            PrintSys p=new  PrintSys();

            Odd odd=p.new Odd();

            Even even=p.new Even();

            // 创建线程

            new Thread(odd).start();

            new Thread(even).start();

        }

    运行结果:

    相关文章

      网友评论

          本文标题:多线程同步交替打印奇偶数

          本文链接:https://www.haomeiwen.com/subject/xquwtltx.html