This paper discusses the integration of a concurrency control mechanism in class-based languages. First, activity control issues are isolated and different object-oriented languages supporting concurrency are studied. We observe that they generally fail to integrate concurrency without interference with other language behaviors. Then, we present a model of concurrency control for C++ objects, based on a concept called conditional wait. The support is split between an extension to the language and a code server. The language extension is discussed in regard to inheritance and component reusability. An implementation on a multiprocessor architecture is outlined.