자바 다 중 스 레 드 교체 인쇄 1 ~ 100

1472 단어 Java
자바 다 중 스 레 드 교체 인쇄 1 ~ 100
하 이 라이트:
1. 이 데모 에 서 는 static 정적 가이드 백 을 사용 합 니 다.
2. Git 창고 에 들 어가 면 같은 가방 아래 에서 원자 성 을 보장 하 는 세 개의 Demo (각각 synchronized, ReentrantLock, AtomicInteger 를 이용 하여 이 루어 진 것) 를 찾 을 수 있 습 니 다.
GitHub :https://github.com/maronghe/ODOP/blob/master/src/com/ibm/thread/ThreadPrintTest.java
다음 에 쓴 코드 는 알 리 바 바 자바 개발 매 뉴 얼 의 규범 에 따라 인 코딩 하려 고 최선 을 다 하고 있 습 니 다. 평 가 를 환영 합 니 다.
package com.ibm.thread;

/*      */
import static java.lang.System.out;

/**
 *         1 - 100
 * @author Logan
 *
 */
public class ThreadPrintTest {
	//     
	int i = 1;
	
	public static void main(String[] args) {
		//        
		ThreadPrintTest obj = new ThreadPrintTest();
		//           ,   runnable  
		Runnable runnable = new Runnable() {
			@Override
			public void run() {
				while(obj.i < 1000){
					//       
					synchronized(this) {
						//        
						notify();
						out.println("Thread " + Thread.currentThread().getName()  + " "+ obj.i ++);
						try {
							Thread.currentThread();
							//     100  ,      
							Thread.sleep(100);
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
						try {
							//     
							wait();
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
					}
				}	
			}
		};

		//       (          )
		new Thread(runnable).start();
		new Thread(runnable).start();
		new Thread(runnable).start();
		
	}
}

좋은 웹페이지 즐겨찾기