thread 썸네일형 리스트형 [java] 이것이 자바다 ch14 스레드(thread) 2 6. 스레드 동기화 ◎ 동기화 메소드와 블록 ▷ 스레드 작업이 끝날 때까지 객체에 잠금을 걸어 스레드가 사용 중인 객체를 다른 스레드가 변경할 수 없게 합니다. ◎ 동기화 메소드 및 블록 선언 ▷ 인스턴스와 정적 메소드에 synchronized 키워드를 붙입니다. ▷ 동기화 메소드를 실행 즉시 객체는 잠금이 일어나고, 메소드 실행이 끝나면 잠금이 풀립니다. ▷ 메소드 일부 영역 실행 시 객체 잠금을 걸고 싶다면 동기화 블록을 만들어줍니다. ◎ 동기화 메소드 예제 1. Calculator 클래스 public class Calculator { private int memory; public int getMemory() { return memory; } // 동기화 메소드 public synchronized .. 더보기 [java] 이것이 자바다 ch14 스레드(thread) 1. 멀티 프로세스와 멀티 스레드 ▷ 프로세스 : 운영체제는 실행 중인 프로그램을 관리 ▷ 멀티 태스킹 : 두 가지 이상의 작업을 동시에 처리하는 것 ▷ 스레드 : 코드의 실행 흐름 ▷ 멀티 스레드 : 두 개의 코드 실행 흐름. 두 가지 이상의 작업을 처리 ▷ 멀티 프로세스 : 프로그램 단위의 멀티 태스킹 / 멀티 스레드 : 프로그램 내부에서의 멀티 태스킹 2. 메인 스레드 ▷ 메인 스레드는 main() 메소드의 첫 코드부터 순차적으로 실행 ▷ main() 메소드의 마지막 코드를 실행하거나 return 문을 만나면 실행 종료 ▷ 메인 스레드는 추가 작업 스레드들을 만들어서 실행시킬 수 있음 ▷ 메인 스레드가 작업 스레드보다 먼저 종료되더라도 작업 스레드가 계속 실행 중이라면 프로세스는 종료되지 않음. 3.. 더보기 이전 1 다음