1. 선언과 정의의 차이 [Bottom] [Top]
선언(Declaration) - 함수원형과 같이 정보를 제공하는 위하여 사용되는 경우를 선언 이라고 한다.
- 정의(Definition) - 실제 동작하는 코드를 정의하는 것으로 함수본체나 실제값을 저장하는 변수를 정의하는 것을 말한다.
2. Idiom(이디엄) 이란? [Bottom] [Top]
마이크로 패턴이라고도 불리며 작은 형태의 패턴을 말한다. 주로 언어에 의존적으로 구성되어 있다. C++ 에서 레퍼런스 카운팅 방법이 한 예다.
3. TLS / TSS [Bottom] [Top]
TLS(Thread-Local Storage) 또는 TSS(Thread-Specific Storage) 는 이름에서도 알 수 있듯이 멀티 쓰레드 환경에 대한 문제 해결을 위하여 고안되었다. 각 쓰레드별로 독립적인 데이터 저장 공간이 필요할 경우 사용한다.
예를들어, C/C++ 에서 errno 는 전역 변수로서 에러 코드를 나타낸다. 쓰레드 내에서 에러가 발생했을 경우, 쓰레드에 종속된 errno 변수가 있어야 정확한 에러 코드를 얻을 수 있다. 그러나 전역 변수는 쓰레드 사이에서 공유되는 공간이므로 언제, 어떻게 값이 변경될지 알 수 없다. 따라서 이런 문제를 해결하기 위하여 각 쓰레드 별로 공간을 할당하는 것을 TLS 또는 TSS 라고 한다.
