为了账号安全,请及时绑定邮箱和手机立即绑定

Python 中线程部分的代码实践求教 主要是类的

Python 中线程部分的代码实践求教 主要是类的

22with33 2018-09-21 20:22:26
import math import time from threading import Thread class SquareRootCaluatotor:     """This class spawn a separate thread to calculate a bunch of square roots ,and checks in it once a second until it finishes"""     def __init__(self,target):         """Turn on the calculator thread and,while waiting for it to finish,periodically monitor its progress"""         self.result = []         counter = self.CalculatorThread(self,target)         print("Turning on the calculator thread")         counter.start()         while len(self.result)<target:             print("%d square roots calculated so far." %len(self.result))             time.sleep(1)         print("calculated %s square root;the last one is sqrt(%d)=%f" %(target,len(self.results),self.result.results[-1])) class CalculatorThread(Thread):     """A separate thread which actually does the calculations."""     def __init__(self,controller,target):         """Set up this thread,including makeing it a daemon thread so that the script can         end without waiting for this thread to finish"""         Thread.__init__(self)         self.controller = controller         self.target = target         self.setDaemon(True)     def run(self):         """Calculate square roots for all numbers between 1 and the target, inclusive."""         for i in range(1,self.target+1):             self.controller.results.append(math.sqrt(i))     if __name__ == 'main':         import sys         limit = None         if len(sys.argv) >1:             limit = sys.argv[1]             try:                 limit = int(limit)             except ValueError:                 print("Usage:%s [number of square roots to calculate"                 % sys.argv[0])         SquareRootCaluatotor(limit)求教:1在给SquareRootCaluatotor类实例后运行,总是提示无CalculatorThread属性,请问这是为什么?            2 这个文件的正确运行步骤是什么?我给SquareRootCaluatotor赋变量运行是否正确?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 894 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信