gpt4 book ai didi

c++ - Clang线程安全分析和线程角色

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:22:08 26 4
gpt4 key购买 nike

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 必须是什么样子才能完成这项工作?

最佳答案

相关: https://insights.sei.cmu.edu/sei_blog/2014/10/thread-safety-analysis-in-c-and-c.html
typedef int __attribute__((能力(“角色”))) ThreadRole;
ThreadRole FlightControl,日志记录;
void acquire(ThreadRole R) __attribute__((acquire_capability(R))) __attribute__((no_thread_safety_analysis)) {}
void release(ThreadRole R) __attribute__((release_capability(R))) __attribute__((no_thread_safety_analysis)) {}
...

关于c++ - Clang线程安全分析和线程角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35327754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com