2.2. 재진입 및 스레드 안전성 코드 작성

ARM C 라이브러리는 예를 들어 RTOS(Real Time Operating System)를 사용하는 다중 스레딩을 지원합니다. 다음은 이 단원에서 다중 스레딩을 설명할 때 사용하는 정의입니다.

스레드

서로 전역 데이터를 공유하는 여러 실행 스트림을 의미합니다.

프로세스

특정한 전역 데이터 세트를 공유하는 모든 스레드의 세트를 의미합니다.

한 시스템에 다중 프로세스가 있어도 각 프로세스가 완전히 독립적이어서 서로 전혀 데이터를 공유하지 않을 수 있습니다(예외적인 상황은 제외). 이와 유사하게, 각 프로세스는 단일 스레드 프로세스일 수도 있고 다중 스레드로 나뉠 수도 있습니다.

단일 스레드 프로세스인 경우 하나의 제어 흐름만 있습니다. 그러나 다중 스레드 응용 프로그램에서는 여러 제어 흐름이 동일한 함수 및 동일한 리소스에 대한 액세스를 동시에 시도할 수 있습니다. 리소스의 무결성을 보호하기 위해서는 다중 스레드 응용 프로그램에 대해 작성한 코드가 재진입스레드로부터 안전해야 합니다.

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AK
Non-Confidential