gpt4 book ai didi

multithreading - 多个线程可以同时访问共享内存吗?

转载 作者:行者123 更新时间:2023-12-03 12:52:00 27 4
gpt4 key购买 nike

多个线程在 CPU 的多个内核上并行运行。他们可以同时访问主存吗?

最佳答案

主内存和共享的末级缓存读取带宽是多个内核竞争的共享资源,但是,读取同一字节内存的多个读取器通常比多个读取器从单独的页面读取数据更快地完成。 (混合写入则不然。)

如果共享内存区域足够小,以至于在每个核心的私有(private)缓存中都很热,那么每个核心都可以以非常高的速度从中读取数据。写作会减慢其他读者的速度,尤其是。其他作家(参见Are cache-line-ping-pong and false sharing the same?)。

其他读者如果不使用任何类型的锁定,而是依赖lockless algorithms,那么速度不会太慢。以避免由于竞争条件而导致的错误。这就是为什么与仅使用锁定或生产者-消费者标志相比,无锁编程有时值得(巨大)挑战以使其正确。

关于multithreading - 多个线程可以同时访问共享内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36090012/

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