我想从 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/

10-13 03:58