c에서는 변수의 포인터를 전달할때 쓰이지만 c++에서는 함수 인자나 변수 타입에 붙일 수 있다.

용도는 쓰레드 안전을 위해 동기화 기능을 수행한다.

컨텍스트 스위칭 시 유용하게 쓰일 수 있다.