0
0

操作的先后顺序的确定

ideawu 发表于 2021年04月24日 10:14 | Hits: 146
Tag: Computer System

在计算机领域, 两个操作的先后顺序的确定, 是一个非常严肃的科学问题, 不能仅凭人的直觉来判定.

有两种方式可以规划两个操作的先后顺序:

  • 通信协调
  • 绝对时间规划

通信协调是指, 一个操作 (B) 在明确知道另一个操作 (A) 已经结束的前提下才启动, 那么便可以判定 (B) 在 (A) 之后. 这里说的"明确知道", 包含主观上的知道, 也包括客观上的知道. 例如, 对于顺序(串行)操作, 先后顺序是明确的客观的, 即使后一个操作不关心(或者说不知道)前一个操作是否已经完成, 它也应当知道.

绝对时间规划不存在, 即使是原子钟也不是绝对时间. 因此, 绝对时间规划需要假设时间差异(gap), 让两个操作的时间区间有大于 gap 的距离.

相关讨论:数据库的并发操作与一致性

并发操作对于程序员来说, 这个概念很常见, 但是, 很多人对它的理解未必那么准确.

Related posts:

  1. Redis被bgsave和bgrewriteaof阻塞的解决方法
  2. Nginx配置$request_uri与$uri变量的区别
  3. Redis 导数据的 PHP 脚本
  4. 从开源社区学来的知识应该更加开放
  5. Google Talk 界面开发分析

原文链接: https://www.ideawu.net/blog/archives/1149.html

0     0

我要给这篇文章打分:

可以不填写评论, 而只是打分. 如果发表评论, 你可以给的分值是-5到+5, 否则, 你只能评-1, +1两种分数. 你的评论可能需要审核.

评价列表(0)