爱编程的小didi 2022-03-31 19:30 采纳率: 20%
浏览 42

单线程下会出现数据的不一致性问题吗?

请问这样的回答是对的么?如果不对请另外回答。感谢!
可能会出现数据不一致的问题,这主要是因为代码优化的原因,使得程序在运行时,CPU直接从通用寄存器中取一个变量临时缓存的数据,而不是从内存中取数据,这样会使程序运行的效率变快。
但是,当这个变量时一个外围设备的寄存器时,这个寄存器是时常变化的,这时虽然cpu得到了这个变量的值,但不是这个寄存器的值。
多线程也有可能出现这样的问题。

  • 写回答

1条回答 默认 最新

  • threenewbee 2022-03-31 21:20
    关注

    如果是单线程单处理器,并且你的调用的库本身没有并发,那么不会出现。
    但是运行库可能会并发,多处理器切换也存在同步问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月31日

悬赏问题

  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥20 spring boot集成mqtt的使用问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物