我有2个功能,一个是倒数计时器,另一个基本上是我想在这个时间段内执行的功能。
我倒数计时器的代码如下:
def countdown(count):
while count > 0:
print(count)
count -= 1
time.sleep(1)
return
我想在计时器用完之前完成执行的其他功能如下:
def solution(imat, painter):
nrows, ncols = imat.shape # gets the total number of rows and columns from a text file
for r in range(nrows):
for c in range(ncols):
if imat[r,c] == 1: # checks if there is a 1 in any index (row and column) in the text file
painter.paint('square',r, c, 1) # square is the method it uses to print, i.e in blocks, and 1 is basically the size of the block that prints
我现在的问题是,我可以在计时器用完之前完全运行解决方案功能吗?
我尝试在解决方案功能中使用t1 = threading.Thread(target=countdown , args =(imat, painter))
,但它无效。 最大值计数可以设置为20。
painter.paint(...)
函数运行160个命令,这意味着文本文件中有160个1,有一种方法可以减少函数运行所需的命令数量吗?
可以使用线程减少命令数吗?
所有帮助将受到高度赞赏。
答案 0 :(得分:-1)
看起来彼得伍德的资金很可能在于您的目标是倒计时功能,但是在线程代码中传递解决方案函数的参数。
但是,如果您只想为代码计时,this指南中有一些关于如何执行此操作的非常好的内容。我个人喜欢line_profiler,因为它为您提供了每条线的执行时间。