用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

多线程顺序执行

2022-06-14 作者: 玉风举报

[java]代码库

package app;

import java.util.LinkedList;
import java.util.Queue;

public class App {
    public static void main(String[] args) {
        new Thread(new Runner(0)).start();
        new Thread(new Runner(1)).start();
        new Thread(new Runner(2)).start();
        new Thread(new Runner(3)).start();
    }

    static class Runner implements Runnable {
        int no;
        static Queue<Character> queue = new LinkedList<>();

        static {
            for (int i = 0; i < 10; i++) {
                queue.offer('A');
                queue.offer('B');
                queue.offer('C');
                queue.offer('D');
            }
        }

        Runner(int no) {
            this.no = no;
        }

        @Override
        public void run() {
            while (queue.size() != 0) {
                synchronized (queue) {
                    if (queue.size() != 0 && no == (40 - queue.size()) % 4) {
                        System.out.println(queue.poll());
                    }
                }
            }
        }
    }
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...