Clang线程安全分析和线程角色

时间:2016-02-10 23:05:47

标签: c++ thread-safety clang

clang线程安全分析docspaper暗示可以指示特定函数仅由特定线程调用。来自论文:

#include "ThreadRole.h"

ThreadRole InputThread;
ThreadRole GUIThread;

class Widget {
public :
    virtual void onClick() REQUIRES(InputThread);
    virtual void draw() REQUIRES(GUIThread);
};

class Button : public Widget {
public :
    void onClick() override {
        depressed = true;
        draw() ; // WARNING!
    }
};

但是,这两个文档都没有说明您是如何实际注释ThreadRole来实现此目的的。 ThreadRole必须具备什么才能使其发挥作用?

1 个答案:

答案 0 :(得分:0)

相关: https://insights.sei.cmu.edu/sei_blog/2014/10/thread-safety-analysis-in-c-and-c.html CREATE OR REPLACE trigger LimitTable after insert on GAMES as declare @GCount int select @GCount = SELECT COUNT(*) FROM GAMES.DEVELOPERID WHERE NEW.DEVEOPERID=GAMES.DEVELOPERID from GAMES if @GCount >=5 begin rollback end ...