python 多线程的使用


在开发etl的过程中,之前串行执行sql脚本速度有点慢,计划转换成并行,这里需要使用py的多线程模式
核心在于py的 multiprocessing 模块,下面是我抄过来别人的代码:

import multiprocessing
import time

#跳舞任务

def dance():
for i in range(5):
print("跳舞中...")
time.sleep(1)

#唱歌任务

def sing():
for i in range(5):
print("唱歌中...")
time.sleep(1)

if __name__ == '__main__':
# 创建跳舞的子进程
# group: 表示进程组,目前只能使用None
# target: 表示执行的目标任务名(函数名、方法名)
# name: 进程名称, 默认是Process-1, .....
dance_process = multiprocessing.Process(target=dance, name="myprocess1")
sing_process = multiprocessing.Process(target=sing)

# 启动子进程执行对应的任务
dance_process.start()
sing_process.start()
print('-------------------------------')
#for i in range(5):
# #dance_process.start() 测试失败 一个线程只能被调用一次
# #sing_process.start()
# print('-------------------------------')

#计划:根据作业配置表中的作业名 生成多个对应线程,此步骤需要py执行,每个线程用来执行对应的sql脚本,线程之间有依赖关系

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/281042.html

(0)
上一篇 2022年8月17日
下一篇 2022年8月17日

相关推荐

发表回复

登录后才能评论