gpt4 book ai didi

c++ - 从一个或多个线程访问 std::list

转载 作者:太空狗 更新时间:2023-10-29 20:01:05 26 4
gpt4 key购买 nike

我需要从我的应用程序中运行的一个或多个线程访问(仅读取)std::list 中的数据。

这个列表只会在启动应用程序时创建一次,之后这个列表将被读取

来自多个线程...说我会这样做

for (std::list <iterator>iii=list->begin();ii!=list->end();ii++)

从多个线程读取列表。

现在我的问题是,如果我不同步对列表的访问,是否会产生任何访问冲突问题?

我在没有任何同步原语的情况下运行了应用程序。我没有遇到任何问题。但由于我对此有疑问,所以我想确认一下。

据我了解,即使在多线程应用程序中,操作系统在运行时也只有一个线程执行。因为我没有从多个线程更新列表,并且所有线程都在读取列表,所以可能没有必要授予对列表的独占访问权。它是否正确?

如果我做错了,请把我放在正确的位置

最佳答案

你是对的,如果你只对列表对象执行读取操作而不进行任何写入操作,你将不会遇到任何问题。但是,请注意,如果处理器具有多个内核,则可能会同时运行多个线程。

关于c++ - 从一个或多个线程访问 std::list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3369749/

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