Pregunta de entrevista de Bloomberg

What is a singleton? How would you code it in C++? How can you make it thread safe?