투케이2K

44. (TWOK/ALGORITHM) [Java] 문법 - 동기 (Sync) 방식 순차적 로직 처리 실시 - Thread , 스레드 본문

투케이2K 알고리즘

44. (TWOK/ALGORITHM) [Java] 문법 - 동기 (Sync) 방식 순차적 로직 처리 실시 - Thread , 스레드

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

[환경 설정 및 설명]

언 어 : Java

설 명 : 문법 - 동기 (Sync) 방식 순차적 로직 처리 실시 - Thread , 스레드

 

[소스 코드 [1]]

        try {
            Thread thread = new Thread(new Runnable() {
                @Override
                public void run() {

                    // [반복 문 수행]
                    for (int i=1; i<=3; i++){
                        Log.i("---","---");
                        Log.d("//===========//","================================================");
                        Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onCreate() :: 스레드 카운트 실시]");
                        Log.i("","\n"+"[count :: "+String.valueOf(i)+"]");
                        Log.d("//===========//","================================================");
                        Log.i("---","---");

                        try {
                            Thread.sleep(1000); // [스레드 일시 정지]
                        }
                        catch (Exception e){}
                    }
                }
            });
            thread.start(); // [스레드 수행]
            thread.join(); // [스레드 로직 종료 까지 대기]
        }
        catch (Exception e){
            e.printStackTrace();
        }
        Log.i("---","---");
        Log.e("//===========//","================================================");
        Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onCreate() :: 스레드 로직 종료]");
        Log.e("//===========//","================================================");
        Log.i("---","---");

[소스 코드 [2]]

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("");

		
	} // [메인 종료]

} // [클래스 종료]

 


[참고 사이트]

https://kkh0977.tistory.com/2195

 

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

[개발 환경 설정] ​ 개발 툴 : Eclipse 개발 언어 : Java [소스 코드] ​ package ex6; // [동기 처리 스레드 클래스 정의 실시] class SyncThread extends Thread { // [전역 변수 선언 실시] String returnDat..

kkh0977.tistory.com

 

 

https://kkh0977.tistory.com/2407

 

276. (java/자바) [간단 소스] new Thread start , join 사용해 동기 순차 로직 처리 수행 실시

[개발 환경 설정] ​ 개발 툴 : Eclipse 개발 언어 : Java [소스 코드] ​ try { Thread thread = new Thread(new Runnable() { @Override public void run() { // [반복 문 수행] for (int i=1; i<=3; i++){ Log..

kkh0977.tistory.com


 

반응형
Comments