zoukankan      html  css  js  c++  java
  • 并发调度的可串行性

    可串行化:多个任务并发执行是正确的,当且仅当起结果与按某种次序串行执行这些任务时产生的结果一样,称这种调度策略为可串行化调度。

    冲突操作:不同任务对同一数据的读写操作和写写操作,其它任务都是不冲突的。

    冲突可串行化:冲突操作的顺序是不能调换的,不冲突操作可以调换顺序。这样的调换之后,调度仍然是串行的,所以叫冲突可串行化的调度。

    冲突可串行化是可串行化的充分条件,不是必要条件,所以冲突可串行化的一定是可串行化的调度,但是可串行化的调度不一定是冲突可串行化的调度,还有不满足冲突可串行化的客串性话调度。

    两段锁协议:满足1)一个任务对任何数据进行读、写之前,首先要获得对该数据的锁,2)释放一个锁之后,进入释放阶段,就不能再继续获得新的锁了。也就是说把锁的过程分为获得锁(扩展阶段)和释放锁(收缩阶段)两个阶段,且两个阶段没有重叠区。

    可以证明,遵循两段锁的调度是是可串行化调度的充分条件。

  • 相关阅读:
    Code Forces Gym 100886J Sockets(二分)
    CSU 1092 Barricade
    CodeChef Mahesh and his lost array
    CodeChef Gcd Queries
    CodeChef GCD2
    CodeChef Sereja and LCM(矩阵快速幂)
    CodeChef Sereja and GCD
    CodeChef Little Elephant and Balance
    CodeChef Count Substrings
    hdu 4001 To Miss Our Children Time( sort + DP )
  • 原文地址:https://www.cnblogs.com/JMLiu/p/8410761.html
Copyright © 2011-2022 走看看