用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入:200字

玉风    -  云代码空间

——

多线程交替打印

2022-06-14|41阅||

摘要:提供一种简单可理解的思路实现多线程打印

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());
                    }
                }
            }
        }
    }
}
顶 2踩 0收藏
文章评论
    发表评论

    个人资料

    • 昵称: 玉风
    • 等级: 中级程序员
    • 积分: 135
    • 代码: 1 个
    • 文章: 1 篇
    • 随想: 0 条
    • 访问: 3 次
    • 关注

    人气文章

    人气代码

    标签

    最新提问

      站长推荐