투케이2K

348. (java/자바) synchronized 메소드 생성 및 Thread 스레드 join 순차 동기화 작업 처리 본문

Java

348. (java/자바) synchronized 메소드 생성 및 Thread 스레드 join 순차 동기화 작업 처리

투케이2K 2024. 4. 2. 19:25

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java

 

[소스 코드]

    private synchronized void procCount() {
        S_Log._D_(ACTIVITY_NAME + " : procCount : 동기화 카운트 다운 수행", null);

        // [스레드 생성]
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                for(int i = 1; i<=5; i++) {
                    S_Log.w("TAG", "카운트 : " + String.valueOf(i));

                    // [특정 조건 루프 탈출]
                    if (i == 3){
                        break;
                    }

                    // [스레드 슬립]
                    try { Thread.sleep(1000); } catch (Exception ex){ ex.printStackTrace(); }

                }
            }
        });
        thread.start();

        // [thread 스레드 : synchronized 동기 처리]
        synchronized (thread) {
            try {
                thread.join();
            }
            catch (Exception e){
                e.printStackTrace();
            }
        }

        // [로그 출력]
        S_Log._W_(ACTIVITY_NAME + " : procCount : 동기화 카운트 완료", null);
    }

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.A_Intro.procCount(A_Intro.java:324)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-04-02 10:46:21 화요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: A_Intro : procCount : 동기화 카운트 다운 수행]
D///===========//: ================================================



W/TAG: 카운트 : 1
W/TAG: 카운트 : 2
W/TAG: 카운트 : 3



W///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.A_Intro.procCount(A_Intro.java:357)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-04-02 10:46:23 화요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: A_Intro : procCount : 동기화 카운트 완료]
W///===========//: ================================================

 

반응형
Comments