我试图在类的一个特性中使用线程。类不是继承线程类,它只是利用它,调用类中的函数。这段代码已经针对我的类的问题进行了改进。你知道吗
出现的问题似乎是在类中使用线程并递归调用方法的实现?这只是我的猜测,我不是python方案的专家,所以我不知道。你知道吗
import threading
class Alpha:
# Set variable defaults
leader = 'Swansonburg'
# - Thread variables
MAX_CONNECTIONS = 5
lock = threading.BoundedSemaphore(value=MAX_CONNECTIONS)
def __init__(self, leader=''):
if (leader): self.leader = leader
def run(self):
print "[+] Alpha: %s, Calling For Backup!" % self.leader
self.ETA = 101
for percent in range(self.ETA):
""" SET TRUE TO ENABLE THREADING """
THREADING = False
self.lock.acquire() # Set thread cap
if (not THREADING):
self.CallBackup(percent)
else:
t = threading.Thread(target=self.CallBackup, args=(percent))
t.start()
def CallBackup(self, percent):
if (percent == 0): pass
elif (percent % 10 == 0) | (percent == 100):
output = ("=" * percent) + (" %% - %d" % percent)
print (output)
self.lock.release()
def main():
new_team = Alpha()
new_team.run()
if (__name__ == '__main__'):
main()
当我试着运行这个时,它给了我一个错误
Why do I get TypeError in Threading in Python解释了同样的问题,您需要将
args=(percent)
替换为args=(percent,)
,使参数列表成为序列而不是元组。你知道吗相关问题 更多 >
编程相关推荐