玉风 - 云代码空间
——
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()); |
} |
} |
} |
} |
} |
} |