프로세스, 작업 및 스레드의 차이점은 무엇이며 프로그램에서 멀티 스레딩을 구현하는 이유는 무엇입니까?


대답 1:

프로세스와 스레드의 차이점은 공유 메모리입니다. 프로세스는 다른 프로세스와 메모리 공간을 공유하지 않습니다 (적어도 기본적으로 또는 특수 운영 체제 구성을 사용하지 않는 한). 스레드는 동일한 메모리 공간에서 실행됩니다 (예 : 하나의 데이터 구조, 예를 들어 이미지 또는 버퍼를 공유).

작업은 어느 상황에서나 발생할 수있는 작업 단위이며 그 의미는 조금 더 비정질 적이며 운영 체제와 런타임에 따라 다릅니다. 예를 들어, 사용자가 GUI를 클릭 할 때 작업을 트리거 할 수 있습니다.

멀티 스레딩을 사용하려면 한 번에 두 가지 작업을 유연하게 수행하고 멀티 코어 프로세서를 활용할 수 있습니다. 예를 들어, 진행률 표시 줄을 업데이트하는 동안 이미지를 렌더링 할 수 있습니다. 또는 이미지에 이미지 필터를 적용하여 이미지를 4 개의 부분으로 세분화하고 각 부분에 대해 하나의 스레드를 실행할 수 있습니다.