목록동시성 (2)
개발 무지렁이
𐂂 운영체제(os)는 실행중인 프로그램을 프로세스로 관리한다. 운영체제는 멀티프로세스를 생성해서 처리하지만, 하나의 프로세스 내에서 멀티태스킹을 할 수도 있다. 하나의 프로세스가 두가지 이상의 작업을 처리할 수 있는 이유는 멀티스레드가 있기 때문이다. 𐁍 '스레드' 란 코드의 실행흐름을 말한다. 멀티스레드는 하나의 프로세스 내부에서 생성되기 때문에 하나의 스레드가 예외를 발생시키면, 프로세스가 종료되므로 다른 스레드에 영향을 미친다. ⚠️ 멀티스레드를 사용하는 경우 예외처리에 신경써야한다. ⚠️ 멀티스레드에서는 실행 중인 스레드가 하나라도 있다면, 프로세스는 종료되지 않는다. ➼ 🦔 모든 자바 프로그램은 메인스레드가 main메서드를 실행하면서 시작된다. 멀티스레드로 실행하는 프로그램을 개발하려면 먼저, ..
프로세스 컴퓨터가 어떤 작업을 하고 있는 상태를 말한다. 멀티태스킹을 가능하게 하는 동시성과 병렬성 ❓ 운영체제(OS)가 어떻게 여러개의 프로세스를 함께 돌릴까? 동시성* 프로세서가 여러개의 작업을 일부분씩 진행하는 것을 말한다. ※ 진행중인 작업을 바꾸는 것을 ' Context Switching '이라 한다. ※ Context Switching 이 매우 빠르게 일어나 동시에 일어나는 것처럼 보인다. 병렬성* 프로세서 하나에 여러개의 코어가 동시에 작업을 진행하는 것을 말한다. (멀티코어 프로세서) 스레드 멀티태스킹을 가능하게 하는 여러개의 프로세스(Process), 각각의 프로세스 안에서의 여러개의 갈래(작업)를 스레드라고 한다. 컴퓨터는 프로세스마다* 자원을 분할해서 할당하는데 여기서 ..