2011-03-13 11 views

답변

1

스레드는 자신의 부모 프로세스와 동일한 주소 공간에서 실행된다. 따라서 하나의 프로세스에 의해 생성 된 다중 스레드는 부모의 메모리에 액세스 할 수 있습니다.

0

운영 체제에서 멀티 태스킹을 사용하면 사용자가 한 번에 둘 이상의 컴퓨터 작업 (예 : 응용 프로그램 작동)을 수행 할 수 있습니다. 이상으로 사용을 관리 할 수있는 프로그램이나 운영 체제 프로세스의 능력은 운영 체제가 멀티 스레딩 정보

을 잃지 않고 이러한 작업에 어디를 추적하고 다른 하나에서 갈 수있다 한 사용자가 한 번에, 심지어 컴퓨터

1

가장 큰 차이점에서 프로그램 실행의 여러 사본이 필요없이 동일한 사용자가 여러 요청을 관리하는 리눅스에서, 스레드가 자신의 주소 공간의 대부분을 공유하고 있다는 점이다. IE : 한 스레드가 메모리에있는 내용을 변경하면 다른 스레드는 변경 내용을보고 영향을받을 수 있습니다. 다른 운영체제에서

, 차이는 더 깊은이다. 그러나 리눅스에서 쓰레드는 프로세스 자체가 아니라 거의 PID 프로세스를 가지고 있습니다.

0

멀티 태스킹 : 메모리의 의 다른 조각에 비록 같은 풀 메모리의를 공유하는 다른 프로그램을 실행.

다중 스레딩 : 같은 슬라이스 메모리을 공유, 동일한 프로그램 내에서 다른 스레드를 실행할 수 있습니다.

두 가지를 집중적으로 사용하면 CPU가 먼저 작업 할 일정과 무게를 결정해야하기 때문에 CPU에 더 많은 작업을 할 수 있습니다. 또 다른 부작용은 각 작업/스레드가 공유 할 CPU 리소스와 메모리가 적어지기 때문입니다 그들 사이에.

이러한 기술을 활용하는 가장 좋은 방법은 절대적으로 필요할 때 당신이 그들을 사용 있는지 확인하는 것입니다.