python中的简单多线程没有按预期工作

2024-09-30 18:31:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我成功地编写了以下代码,它允许我两次查询数据文件,同时查询不同的信息。但是,它似乎不起作用。有人能看出我做错了什么吗?你知道吗

print('Start')
def getAllTimes(arg1):
    task1 = arg1
    if task1 == 1:
        textfile = open(logfile, 'r')
        filetext = textfile.read()
        textfile.close()
        matchesBegin = beginStr in filetext
        matchesEnd = endStr in filetext
        return(matchesBegin,matchesEnd)
    elif task1 == 2:
        AllTimeStamps = [ x.split(' ')[0][1:-1] for x in open(logfile).readlines() ]
        AllUniqTimeStamps = set(AllTimeStamps)
        return AllUniqTimeStamps
etime = 0
AllTimes = []
for etime in range(1,2):
    AllTimeZ = threading.Thread(target=getAllTimes, args=[etime])
    AllTimes.append(AllTimeZ)
    AllTimeZ.start()
for TheTimes in AllTimes:
    TheTimes.join()
    print TheTimes
print('Done')

在上面的代码运行之后,我想确保我可以查询在函数中创建的任何变量的内容。变量的意思是:matchesBegin, matchesEnd, AllUniqTimestamps


Tags: inforopenprintarg1task1textfilefiletext