ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Thread Synchronized
    카테고리 없음 2014. 4. 19. 08:07

    T

    Thread가 수행중에 다른 Process에서 그 Thread를 동시에 수행하려고 할 때 이를 하나의 Thread가 수행을 마친다음 수행을 하도록 Sync를 맞추는 것을 Thread Synchronized 라고 한다.

    Thread Synchronized의 방법은 두가지가 있는데

    1. Member Synchronized

    Thread 내의 Member Function에 Sync를 거는 방법이다.

    즉 Type 앞에synchronized 를 붙여서 사용하는 방법인데 해당 Member Function 전체가 Sync가 된다.

    class AccountManagement extends Thread{

        private int balance=0;

        public synchronized void deposit(int x) {

            balance += x;

        }

    1. Local Synchronized

      일정 지역만을 지정하여 Sync를 하므로 만일 긴 문장을 수행하는 경우 효율적인 방법이 된다.

        public void run() {

            synchronized(this) { // Local Sync

                while(true) {

                    checkBalance();

                    try {

                        Thread.sleep(1000);

                    }catch (InterruptedException e) {}

                }

            }

        }

     

    ==è 이를 Member Sync 바꾸면

    public synchronized void run() {

        while(true) {

            checkBalance();

            try {

                Thread.sleep(1000);

            }catch (InterruptedException e) {}

        }

    }

Designed by Tistory.