class Thread(threading.Thread):
def __init__(self, num, interval):
threading.Thread.__init__(self)
self.thread_num = num
self.interval = interval
self.thread_stop = False
def run(self):
while not self.thread_stop:
f = open('E:/downloadedbooks/test/' + '这是其中一个线程创建的' + '.txt','w')
f.write('这是其中一个线程创建的')
f.close()
print ('线程创建了一个TXT文件')
time.sleep(self.interval)
self.stop()
def stop(self):
self.thread_stop = True
thread = Thread(1,1)
thread.start()
谢谢你。我想实现的是,吧列表切片,然后用多个线程同时处理不同切片中的内容,怎么做到在启动线程的时候把分割后的列表的序号传递给run()函数?我启动线程是直接调用那个类的,这样我给出的参数不就是传递给__init__了吗?还是__init__里面可以进行什么操作来改变它调用run()函数时候的参数?
追答列表切片,把起始号传递过去应该是可以的。你的Thread类的__init__可以这样写
def __init__(self, num, interval, list_to_be_split, start_index):
self.list_to_be_split = list_to_be_split
self.start_index = start_index
这样不知道能不能解决你的问题。多了两个参数。调用时
thread = Thread(1,1, list_to_be_splited, start_index)