Python中文
首页
教程
问答
标签
搜索
登录
注册
类实例的成员未更新
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个成员变量为<code>self._duration</code>的类,我通过在进程中调用它的一个方法定期更新它。类别定义如下:</p> <pre><code> class Tracker : def __init__(self): self._duration = 0 def UpdateDuration(self): self._duration += 1 print ("updated the duration to : {0}".format(self._duration)) def GetDuration(self): return self._duration def ThreadRunner(self) : while True : self.UpdateDuration() time.sleep(1) </code></pre> <p>我在另一个文件中创建了该类的一个实例,并按如下所示启动该过程</p> <pre><code>trip = False end = False while not trip : start = input("do you want to start the trip? : ") if start.lower() == "start" : trip = True if trip : vt = Tracker() t1 = multiprocessing.Process(target = vt.ThreadRunner, args=()) t1.start() inp = input("Enter any char if you want to end the trip : ") t1.terminate() print ("Trip duration : {0}".format(vt.GetDuration())) </code></pre> <p>我的问题是,每次调用<code>UpdateDuration</code>方法时,我都会收到一条语句,说明duration已更新为预期值。但是,当trip最终结束时,<code>GetDuration</code>方法返回0,尽管它每秒都在更新</p> <p>有人能帮我吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>实际上,您并没有开始您的流程<code>t1.start()</code>&;在<code>ThreadRunner</code>中,您正在使用<code>while True</code>,这意味着将持续运行</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
4 回答
无法使用Django\u mssql\u后端迁移到外部hos
7 回答
无法使用Django&Python3.4连接到MySql
5 回答
无法使用Django+nginx上载媒体文件
10 回答
无法使用Django1.6导入名称模式
4 回答
无法使用Django1.7和mongodb登录管理站点
8 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
2 回答
无法使用Djangockedi验证CBV中的字段
9 回答
无法使用Djangocketditor上载图像(错误400)
8 回答
无法使用Djangocron进行函数调用
9 回答
无法使用Djangofiler djang上载文件
7 回答
无法使用Djangokronos
2 回答
无法使用Djangomssql provid
5 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
9 回答
无法使用Djangomssq迁移Django数据库
4 回答
无法使用Djangonox创建用户
8 回答
无法使用Djangopyodb从Django查询SQL Server
8 回答
无法使用Djangopython3ldap连接到ldap
10 回答
无法使用Djangoredis连接到redis
10 回答
无法使用Django中的FK创建新表
5 回答