我想从 Java 实现类似于接口(interface) Runnable 的东西。我尝试这样做:
class Runnable{
public:
void start(){
t = std::thread(&Runnable::run, this);
}
protected:
virtual void run(){
}
};
想法很简单。我想重载 run 方法,然后 start() 应该启动重载的方法。但是……没用。
terminate called after throwing an instance of 'std::system_error'
what(): Operation not permitted
PS 我从带有 dlopen 的动态库加载了一个类的实例,它派生自 Runnable。
最佳答案
当忘记在命令行中使用 -pthread
时,GCC 通常会出现此错误。
关于C++ 可运行类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8631251/