2011-01-26 3 views

답변

3
일반적으로

(그리고 운영 체제에 따라 다름) :

  • 스레드는 일반적으로
  • 프로세스는
  • 스레드가 내 간단한 데이터 공유 및 조정을 제공하는 행동 사이에 더 나은 절연을 제공 처리보다 가벼운 무게입니다 프로세스

일반적으로 중점은 나를위한 키커입니다. 실제로 두 동작이 서로 간섭하지 않도록하려면 배가 업중인 한 프로세스가 다른 프로세스에 영향을 미치지 않는 한도 내에서 별도의 프로세스를 사용하십시오. 그렇지 않으면 나는 개인적으로 실을 찾는다.

(두 모델을 모두 사용할 수 있다고 가정합니다. 별도의 실행 파일을 실행하려는 경우 적어도 기존의 스레드에서 수행하기가 어려울 것입니다.)

1

스레드는 프로세스의 부분합입니다. 이로써 주요 차이점은 메모리 할당과 CPU 시간 스케줄링이다 : 당신이 (프로세스 당 허용되는 범위 내에서) 메모리를 할당

    • 운영 체제가 프로세스 과정 및 일정 실행 시간 당 메모리를 처리하고 있습니다 (실행 시간을 예약 프로세스 당 주어진 실행 시간 내에)

    이외의 하드웨어 정의 (스레드는 프로세스에 의해 잠긴 하드웨어를 공유 할 수 있음), 통신 (플랫폼/언어/런타임에 따라 다름) 스레드는 변수를 공유 할 수 있으며 프로세스는 정보를 공유하는 파이프) 등이 있습니다. 스레드를 원자 엔티티로 생각하는 경우이 구분에서 훨씬 더 많은 부분이 있지만 그 경우 프로세스가 이러한 엔티티를 그룹화하는 방법이 될 것입니다.