BOBO 썸네일형 리스트형 [java] 이것이 자바다 ch14 스레드(thread) 2 6. 스레드 동기화 ◎ 동기화 메소드와 블록 ▷ 스레드 작업이 끝날 때까지 객체에 잠금을 걸어 스레드가 사용 중인 객체를 다른 스레드가 변경할 수 없게 합니다. ◎ 동기화 메소드 및 블록 선언 ▷ 인스턴스와 정적 메소드에 synchronized 키워드를 붙입니다. ▷ 동기화 메소드를 실행 즉시 객체는 잠금이 일어나고, 메소드 실행이 끝나면 잠금이 풀립니다. ▷ 메소드 일부 영역 실행 시 객체 잠금을 걸고 싶다면 동기화 블록을 만들어줍니다. ◎ 동기화 메소드 예제 1. Calculator 클래스 public class Calculator { private int memory; public int getMemory() { return memory; } // 동기화 메소드 public synchronized .. 더보기 [java] 스레드(Thread) 1. 스레드란? ▷ 메모리를 할당받은 프로세스에서 실질적인 작업을 수행하는 것입니다. ▷ 하나의 프로세스 안에서 두 가지 이상의 일을 하도록 도와줍니다. 프로그램을 실행시키면 메모리가 할당되어 실행됩니다. 이때, 실행 중인 프로그램은 프로세스! 프로세스에서 작업을 수행하는 것이 스레드이며 두 가지 이상의 작업을 하려면 두 개 이상의 스레드가 필요 ◎ 프로세스가 실행되는 방식 1. 시간분할 방식 ▷ 시간분할 방식은 모든 프로세스에게 동일한 시간을 할당하고 골고루 실행합니다. 2. 선점형 방식 ▷ 선점형 방식은 각각의 프로세스에게 우선순위를 부여하고 우선순위가 높은 순으로 실행되는 방식입니다. 우선순위가 높은 프로세스가 잠시 멈추면 그다음 순위의 프로세스가 동작합니다. ◎ 스레드 생성 방법 1. Thread.. 더보기 이전 1 다음