Python并发程序

大贤者福尔的在计算机方面的研究也取得了极大的成绩,他的研究主要集中在并行计算方面,通过锁机制保障程序的并行执行。为此,他设计了一个非常简单的原型系统,系统中程序最多不超过100条语句,分为以下几种类型:

var = another_var or constant(变量赋值)
var += another_var or constant(运算赋值)
var -= another_var or constant(运算赋值)
print var(输出变量)
lock
unlock
end

现有n个程序,顺序编号依次为1−n,所有的程序均按并发模式执行。程序中变量用单个小写字母表示,初始为0,为所有程序公有(即某个程序对某个变量赋值可能会影响其他程序)。常数为绝对值不超过100的整数。系统中同一时刻只有一个程序处于运行态,其他程序均处于等待态。

上述语句分别需要运行t 1 ,t 2​ ,t 3 ,t 4 ,t 5 ,t 6 ,t 7 个时间单位。运行中的程序每次最多分配到Q个单位时间(称为配额),一旦正在执行的程序的时间配额用完,当前执行的语句完毕后该程序会进入等待队列中排队,调度程序从等待队列首部取出下一个程序继续执行。系统开始运行时,所有变量的初始值为0,所有程序按输入顺序在等待队列中排队。由于lock/unlock语句的出现,程序的执行顺序可能会改变。lock语句的作用是申请对所有变量的独占访问,与unlock总是成对出现,且不会嵌套。lock总是在unlock的前面。一个程序成功执行完

你可能感兴趣的:(Pyhton程序设计,python,前端,数据结构,算法)