gpt4 book ai didi

c++11 - boost/C++0x/C++1x/计算机科学中的原子是什么?

转载 作者:行者123 更新时间:2023-12-04 06:36:49 25 4
gpt4 key购买 nike

C/C++ 编程中的原子是什么?

我刚刚访问了cppreference.com(好吧,我不认为标题是理所当然的,而是等待我的故事完成),然后主页更改为描述一些C++0x/C++1x(我们称之为C++,好吗?)新功能。

我的僵尸程序员眼中出现了一个神秘而从未见过的新<atomic> .

我想它的目的不是为原子弹或黑洞编程(但我非常怀疑这可能与黑洞有任何联系,我不知道这两个词是如何滑到这里的),但我想知道一些事情:

此功能的目的是什么?它是一种类型吗?一个功能?它是数据容器吗?它与线程有关吗?它可能与python的“进口反重力”有什么关系?我的意思是,我们在这里编程,我们不是该死的物理学家或语义学家!

最佳答案

用于多线程。它避免了并发线程混合操作。原子操作是不可分割的操作。你不能从系统中的任何线程观察到这样一个半完成的操作;它要么完成,要么未完成。使用原子操作,您无法在线程之间进行数据竞争。在现实世界的类比中,您将不将 atomic 用于物理,而是用于道路上的信号量和其他交通信号。汽车将成为线程,道路将成为规则,位置将成为数据。信号量将是原子的。当所有道路上只有一辆车时,您不需要信号量,对吗?

关于c++11 - boost/C++0x/C++1x/计算机科学中的原子是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4781126/

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