Development(7985)
-
process & thread - 프로세스(Process), 프로세스의 다른 정의들, 프로세스 종류, 실행파일 vs 프로세스
실행파일 vs 프로세스 실행파일notepad.exe 이름을 가진 파일 프로세스실행파일이 실행되어 메모리에 적재된 인스턴스
-
스케줄링(Scheduling), 선점형 스케줄링 (Preemptive Scheduling), 비선점형 스케줄링 (Non-preemptive Scheduling)
스케줄링(Scheduling)스케줄링은 다중 프로그래밍을 가능하게 하는 운영 체제의 동작 기법입니다. 선점형 스케줄링 (Preemptive Scheduling)· 어떤 프로세스가 CPU를 사용하고 있는 동안 다른 프로세스에 의해 그 CPU의 사용을 선점당할 수 있는 스케줄링 방식(하나의 프로세스가 다른 프로세스 대신에 프로세서(CPU)를 차지할수 있는 방식)입니다.· 모든 프로세스에게 CPU 사용 시간을 동일하게 부여할 수 있습니다. · 빠른 응답시간을 요하는 대화식 시분할 시스템에 적합하며 긴급한 프로세서를 제어할 수 있습니다. · '운영 체제가 프로세서 자원을 선점'하고 있다가 각 프로세스의 요청이 있을 때 특정 요건들을 기준으로 자원을 배분하는 방식입니다. 비선점형 스케줄링 (Non-preempti..
-
Thread Name(스레드 이름)
Thread Name(스레드 이름)· 스레드는 이름을 통해 특별한 기능을 하는 것은 아니지만 자신의 이름을 가지고 있습니다.· 디버깅할 때 어떤 스레드가 어떤 작업을 하는지 분석하기 위한 목적으로 활용이 되는 것이 일반적입니다.· 메인 스레드는 main이라는 이름을 가지고 있고, 직접 생성한 스레드는 직접 이름을 부여하지 않으면 자동적으로 Thread-n이라는 이름으로 지정됩니다. 메소드 설명 setName() · 인스턴스 메소드 · 스레드 이름 설정 또는 변경 getName() · 인스턴스 메소드 · 스레드 이름 가져오기 Thread.currentThread() · 정적 메소드 · 코드를 실행하는 현재 스레드의 레퍼런스 얻어오기
-
문맥 교환(context switching), 작업간 교환
문맥 교환(context switching)컴퓨터에서 동시에 처리할 수 있는 최대 작업 수는 CPU의 코어(core) 수와 같습니다.만약 CPU의 코어 수보다 더 많은 스레드가 실행되면, 각 코어가 정해진 시간 동안 여러 작업을 번갈아가며 수행하게 됩니다. 이때 각 스레드가 서로 교체될 때 스레드 간의 문맥 교환(context switching)이라는 것이 발생합니다.문맥 교환이란 현재까지의 작업 상태나 다음 작업에 필요한 각종 데이터를 저장하고 읽어오는 작업을 가리킵니다.작업간 교환이라고도 합니다.문맥 교환에 걸리는 시간이 커지면 커질수록, 멀티 스레딩의 효율은 저하됩니다.오히려 많은 양의 단순한 계산은 싱글 스레드로 동작하는 것이 더 효율적일 수 있습니다.따라서 많은 수의 스레드를 실행하는 것이 언제..
-
멀티 쓰레드 vs 멀티 프로세스
멀티 쓰레드 vs 멀티 프로세스멀티 쓰레드와 멀티 프로세스 모두 여러 흐름을 동시에 수행한다는 공통점을 가지고 있습니다.
-
java.lang.Thread 클래스 생성자, Thread 클래스의 주요 메서드
java.lang.Thread 클래스 생성자