voctor动态数组、同步类容器,底层实现基于:Collections.synchronized
x
1
package demo5;2
3
import java.util.ArrayList;4
import java.util.Collections;5
import java.util.List;6
import java.util.Vector;7
8
/**9
* Created by liudan on 2017/7/9.10
*/11
public class MyThread2 extends Thread {12
/*同步类容器、动态数组*/13
public static void main(String[] args) {14
/*final Vector<String> ticksts = new Vector<>();*/15
16
List<String> ticksts = Collections.synchronizedList(new ArrayList<String>());17
18
19
for (int i = 1; i <= 100; i++) {20
ticksts.add("G1001-火车票-G000X" + i);21
}22
23
24
for (int i = 1; i <= 10; i++) {25
new Thread("线程" + i) {26
27
public void run() {28
while (true) {29
if (ticksts.isEmpty()) break;30
System.err.println(Thread.currentThread().getName() + " " + ticksts.remove(0));31
}32
}33
}.start();34
}35
36
}37
}38
输出:39
线程001 G1001-火车票-G000X140
线程001 G1001-火车票-G000X241
线程001 G1001-火车票-G000X342
线程001 G1001-火车票-G000X443
线程002 G1001-火车票-G000X544
线程002 G1001-火车票-G000X745
线程001 G1001-火车票-G000X646
线程001 G1001-火车票-G000X947
线程001 G1001-火车票-G000X1048
线程002 G1001-火车票-G000X8