220822)멀티 프로세싱, 멀티 스레딩, 동기, 비동기

멀티 프로세싱(Multi Processing)

다수의 프로세서가 여러 작업을 함께 처리하는 것을 뜻한다.

※프로세서: 프로그램을 수행하는 하드웨어 유닛 (프로세스와는 다름)

---

멀티 스레딩(Multi Threading)

일반적으로 하나의 프로세스는 한 개의 스레드를 가지고 작업을 수행한다. 그러나 멀티 스레드를 사용하면 하나의 프로세스 내에서 둘 이상의 스레드를 사용해 작업을 수행할 수 있다.

멀티 스레드는 각 스레드가 자신이 속한 프로세스의 메모리를 공유하기 때문에 시스템 자원의 낭비를 줄일 수 있으며, 여러 스레드가 작업을 보조하기 때문에 사용자와의 응답성이 좋아진다.


참고: http://www.tcpschool.com/java/java_thread_multi


동기(Synchronous)

요청과 결과가 동시에 일어날 것이라는 약속을 한 상태. 요청을 하면 결과가 반드시 주어져야 한다.

간단하고 직관적인 방식이지만 결과가 도착할 때 까지 아무것도 안하고 대기해야 한다는 특징이 있다.

---

비동기(Asynchronous)

요청과 결과가 동시에 일어나지 않는다는 약속을 한 상태. 요청에 따른 결과가 보장되지 않는다.

동기방식보다 복잡하나, 결과가 도착하는 데에 시간이 걸리더라도 그 동안 다른 작업을 진행할 수 있어 자원을 효율적으로 사용할 수 있다는 특징이 있다.


참고: https://private.tistory.com/24

이 블로그의 인기 게시물

내일배움캠프 사전캠프 - 사전캠프설 연휴 커피 파밍 이벤트 작품 [ EXTREMITY ]

내일배움캠프 29일차 - 커리어데이 2일차 : 클라이언트 프로그래머로서 포트폴리오, 입사준비팁