3.使用线程池创建
from concurrent.futures import ThreadPoolExecutor
import time
"""
使用线程池创建
"""
# 学习某一个课程
def study(course):
for i in range(3):
time.sleep(1)
print("学习: " + course)
time.sleep(1)
print("---------------")
def main():
knowledge = ["Java", "Python", "Linux"]
# 最大线程数为3,使用with可以自动关闭线程池,简化操作
with ThreadPoolExecutor(3) as executor:
for each in knowledge:
executor.submit(study, each)
print("main线程over")
if __name__ == '__main__':
main()
"""
输出结果:
学习: Java
学习: Python
学习: Linux
---------------
---------------
---------------
学习: Java
学习: Python
学习: Linux
------------------------------
---------------
学习: Java
学习: Python
学习: Linux
---------------
---------------
---------------
main线程over
"""