1、使用threading模块,在单独的线程中执行任务
2、向线程的目标函数传递参数
print('cat','dog','frog',sep =' & ') #设置输出的间隔符
#输出为cat & dao & frog
若要在自己的线程中实现以上print调用:
常规参数作为一个列表,传递给args关键词参数;
关键字参数作为一个字典,传递给kwargs关键词参数。
import threading
threadObj = threading.Thread(target = print, args = ['cat','dog','frog'], kwargs = {'sep' : ' & '})
threadObj.start()
3、并发问题
决不让多个线程读取或者写入相同的变量。当创建一个新的Thread对象时,要确保其目标函数只使用该函数中的局部变量。
4、join方法主要是会阻塞主线程,在子线程结束运行前,主线程会被阻塞等待。
#wait for all threads to end
for downloadThread in downloadThreads:
downloadThread.join()