gpt4 book ai didi

c - 静态内联函数线程安全吗?

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:08 25 4
gpt4 key购买 nike

场景:我写了一大段代码,在 2 个并行线程上运行,它们在代码方面是相同的,只是处理不同的数据。我看到了不确定的结果。如果我禁用 2 个线程之一,结果将变得确定。在此代码中,我使用了一些静态内联函数(主要原因:它们是我到处需要的小函数,为此我只是在需要它们的翻译单元中复制代码),我想了解它们是否可能是我的问题的可能原因。

静态内联函数在 C 中是线程安全的吗?反过来说,如果它们内部没有静态变量,只有一些局部变量和输入参数,那么来自 2 个线程的同时调用会导致不可预测的行为吗?

最佳答案

不,那真的应该没问题。

函数是否内联不应影响这一点,因为无论如何它都只是代码。

就实际内存中数据(结果)而言,行为是不确定的,还是“只是”诸如事件的时间和顺序之类的事情?

您是否可能写入参数,不小心造成了数据竞争?

关于c - 静态内联函数线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40125761/

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