gpt4 book ai didi

c++ - Qt:复制隐式共享类的实例是否线程安全?

转载 作者:搜寻专家 更新时间:2023-10-31 01:29:53 29 4
gpt4 key购买 nike

Qt documentation状态:

Beginning with Qt 4, implicit shared classes can safely be copied across threads, like any other value classes.

因此,下面示例中的 getText() 将是线程安全的。正确吗?

class MyClass {

private:
QString text;

public:
QString getText() const { return text; } // Is this thread-safe?
};

最佳答案

在编写您的类(class)时,它是线程安全的。没有人可以写入 text,因此您不会有任何同步问题。

如果有的话

class MyClass {

private:
QString text;

public:
QString getText() const { return text; }
void setText(const QString& str) { text = str; }
};

那么 getText 函数仍然是安全的,因为它不会更改类中的任何状态,但现在类本身不是线程安全的。由于您可以在一个线程中设置状态(写入),因此您需要同步。

关于c++ - Qt:复制隐式共享类的实例是否线程安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49072060/

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