투케이2K

272. (java/자바) Thread 스레드 사용해 동기 순차적 로직 처리 수행 실시 본문

Java

272. (java/자바) Thread 스레드 사용해 동기 순차적 로직 처리 수행 실시

투케이2K 2022. 7. 15. 08:03

[개발 환경 설정]

개발 툴 : Eclipse

개발 언어 : Java

 

[소스 코드]

package ex6;


// [동기 처리 스레드 클래스 정의 실시]
class SyncThread extends Thread {
	
	// [전역 변수 선언 실시]
	String returnData = "";
	
	
	// [순차적 동기 로직 처리 실시]
	@Override
	public void run() {
		
		// [for 문 수행 실시]
		for(int i=1; i<=3; i++) {
			
			// [리턴 변수에 삽입]
			returnData = String.valueOf(i);
			
			
			// [로그 출력 실시]
			System.out.println("");
			System.out.println("================================");
			System.out.println("[SyncCount] : " + returnData);
			System.out.println("================================");
			System.out.println("");
			
			
			// [스레드 1초 정지 실시]
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	
	
	// [리턴 반환 메소드 정의 실시]
	public String getResult() {
		
		return returnData;
	}
}





// [메인 클래스 정의 실시]
public class MainActivity17 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("");
		System.out.println("================================");
		System.out.println("[Program Start]");
		System.out.println("================================");
		System.out.println("");

		
		// [동기 처리 스레드 호출 실시]
		SyncThread sync = new SyncThread();
		
		sync.start(); // [스레드 시작]
		try {
			sync.join(); // [스레드 작업 완료까지 대기]
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		
		
		// [로그 출력 실시]
		System.out.println("");
		System.out.println("================================");
		System.out.println("[Thread Result] : " + sync.getResult());
		System.out.println("================================");
		System.out.println("");

		
	} // [메인 종료]

} // [클래스 종료]
 

[결과 출력]


 

반응형
Comments