所以我整天都在忙着处理这种多线程,但似乎可以让它发挥作用。它也在Python 3中。
该程序试图生成1000个字的列表1000次并使用多线程来提高速度。
我已经将代码改为不同的方法,我在线搜索但没有结果。
凭借我目前所拥有的,它将毫无问题地运行,但不会打印任何单词。
任何人都有可能看一眼。
import random
from threading import Thread
word_file = "words.txt"
def gen():
Words = open(word_file).read().splitlines() #retreiving and sorting word file
seed = random.randrange(0,2048) #amount of words to choose from in list
for x in range(0, 1000):
print(random.choices(Words, k=5)) #print the words
def main():
t1 = Thread(target=gen)
t2 = Thread(target=gen)
t3 = Thread(target=gen)
t4 = Thread(target=gen)
t1.start()
t2.start()
t3.start()
t4.start()
print("completed")
答案 0 :(得分:0)
非常简单:您的代码不会调用任何函数,而只是构建它们并让它们独自存在。
只需在main()
之前添加print("completed")
,以便代码调用该函数。
注1:为什么要在循环内一遍又一遍地读取文本文件,以及为什么要手动打开它?通过以下方式自动关闭它:
with open(word_file, "r") as f:
Words = f.read().splitlines()
gen()
之前的代码。
注2:seed
在做什么?你定义了它,但没有在任何地方使用它。
注3:请在发布问题前检查缩进。