static void *(entry_point)(void *_this) { IThread *self = static_cast<IThread<T, U> *>(_this); self->setStatus(Running); self->_func_ptr(self->getId(), self->getParameter()); self->setStatus(Stopped); MutexVault::getMutexVault()->remove(self->getId()); return (NULL); }