멀티스레드

마을버스의 이미지
익명 사용자의 이미지

> Manager::GetInstance()->set(1); // 여기까지 전부 세이프한지....

이게 안전할 이유가 없지요.
이 때의 쓰레드 안전성은 T 타입이 책임지거나 그렇지 않다고 하면 T 타입을 사용하는 쪽에서 신경을 써줘야하는 부분입니다.
싱글톤 패턴과는 아무런 관련도 없습니다.

> Manager* m = Manager::GetInstance(); // 이렇게 따로 받아서 사용할 경우에는 어떻게 되는건지....

프로그래밍 공부를 제대로 다시하시는 것이 좋을 것 같습니다.
GetInstance 메소드의 안전성부터 스스로 잘 다시 따져보세요.
제대로 이해 못하고 계신 것 같습니다.

마을버스의 이미지

그럼

이런식으로 락을 걸어줘야 되는거군요???

void set(int i) { lock; a += i; unlock; }