프로세스 생성의미는 프로그램 실행에 필요한 내용이 컴퓨터 메모리(Ram)에 적재된다는 뜻이다.\-프로그램 : 어떤 작업을 하기 위해 실행할 수 있는 파일 또는 프로그램\-프로세스 : 메모리에 적재되고 CPU 자원을 할당받아 프로그램이 실행되고있는 상태프로세스는 Code
자바 앱 실행 => JVM 프로세스 시작 및 main thread 생성JVM은 프로세스를 실행하면서 OS로부터 Runtime Data Area 메모리를 할당받습니다.Method AreadJVM 스레드의 종류\-데몬 스레드데몬 스레드는 다른 비데몬 스레드가 없다면 동작을
멀티 프로세싱NewLong term – performance멀티 스레딩
멀티스레드 작업 수행시 프로세스와 같이 스레드간 Context Switching이 존재한다.기본적으로 스레드의 스위칭보다 프로세스의 스위칭이 오버헤드가 큰 이유는 더 많은 정보가 교환되기 때문이다.멀티코어상에서 두개의 스레드를 실행하는 경우\---------------
스레드는 우선순위를 통해 각 스레드별 작업시간을 다르게 가지게 할 수 있다.void setPriority(int newPriority) : 스레드의 우선순위를 지정한 값으로 변경한다.void getPriority() : 스레드의 우선순위를 반환한다.스레드가 가질 수 있
데몬 스레드는 우선 순위가 낮은 스레드로 일반 스레드의 작업을 돕는 스레드다. 자바의 가비지컬렉터가 대표적인 예시로 들 수 있다. 일반 스레드가 모두 종료되면 JVM은 데몬 스레드를 기다리지 않고 애플리케이션을 종료한다. 그렇기 때문에 데몬 스레드에서 해당 작업을 수행
스레드 스케줄링 메서드sleep() : 지정된 시간동안 스레드를 일시정지시킨다. 지정한 시간이 지나고 나면, 자동적으로 다시 실행대기상태가 된다.join() : 지정된 시간동안 스레드가 실행되도록 한다. 지정된 시간이 지나거나 작업이 종료되면 join()을 호출한 스레
동기화 멀티스레드의 경우 프로세스와 달리 자원을 공유하기 때문에 서로 간에 간섭을 막기 위해 동기화(Synchronized)를 사용한다. 1.메소드 동기화 메서드가 호출된 시점부터 해당 객체의 lock을 얻어 수행 후 메서드가 종료되면 lock을 반환 2.메서드 내
Volatile
Fork & Join FrameWork 해당 프레임워크를 통해 작업을 작은 단위로 나누어 여러 스레드가 동시에 처리하는 것을 쉽게 할 수 있다. 수행 작업에 따라 두 클래스 중 하나를 상속받아야 한다. > RecursiveAction : 반환값이 없는 작업 구현시