如果应用场景是需要并行执行两个任务,且每个任务都是一个多线程程序,则需要进行线程的嵌套。本文将给出最简单的python3线程嵌套示例代码。
import threading
import time
class myThread(threading.Thread):
def __init__(self, name, delay):
threading.Thread.__init__(self)
self.name = name
self.delay = delay
def run(self):
# time.sleep(self.delay)
print("----- {} ending -------".format(self.name))
def multi_threads_1(num: int):
print('1 start......')
threads = []
for idx in range(num):
threads.append(myThread(str(idx), idx))
for thread in threads:
thread.start()
for thread in threads:
thread.join()
print('1 end......')
def multi_threads_2(num: int):
print('2 start......')
threads = []
for idx in range(num):
threads.append(myThread(str(idx) + '-cmp', idx))
for thread in threads:
thread.start()
for thread in threads:
thread.join()
print('2 end......')
if __name__ == "__main__":
thread1 = threading.Thread(target=multi_threads_1, args=[5])
thread2 = threading.Thread(target=multi_threads_2, args=[5])
thread1.start()
# thread1.join()
thread2.start()