CountDownLatch 을 사용하면 멀티 쓰레드 사용시 모든 쓰레드 종료 시점을 알 수 있다.
간단한 예제 코드
private static AtomicInteger _nextInc = new AtomicInteger(
(new java.util.Random()).nextInt());
final List<Integer> list = Collections.synchronizedList(new ArrayList<Integer>()); final CountDownLatch latch = new CountDownLatch(10000);
for(int i = 0 ; i < 10000 ; i++) { Thread thread = new Thread() { public void run() { list.add(_nextInc.getAndIncrement() & 0xFF); latch.countDown(); } };
thread.start(); }
try { latch.await(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Collections.sort(list); for(int n : list) { System.out.println(n); }
|
'백엔드기술 > 개발언어' 카테고리의 다른 글
파이썬 cx_Oracle 설치하기 (0) | 2014.02.26 |
---|---|
자바 리소스 모니터링 툴 (VisualVM) (0) | 2013.03.09 |
WEB Socket (0) | 2013.01.05 |