擅长:python、mysql、java
<p>我能够使用多处理库中的值概念来完成这项工作。以下是我需要的代码:</p>
<pre><code>import time
from multiprocessing import Process, Value, Lock
class Tracker:
def __init__(self):
self.duration = Value('i', 0)
def UpdateDuration(self, val, lock):
while True :
time.sleep(0.01)
with lock :
val.value += 1
def GetDuration(self):
return self.duration
</code></pre>
<p>然后,调用脚本需要在创建进程之前初始化此类及其变量:</p>
<pre><code> t = Tracker()
t.counter = Value('i', 0)
lock = Lock()
proc = Process(target=t.Updater, args=(t.counter,lock))
proc.start()
inp = input("end the process : ")
if inp == "y" :
proc.terminate()
print (t.counter.value)
</code></pre>
<p>这解决了我的问题,并根据预期更新持续时间的值</p>