前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >django 视图中使用多线程

django 视图中使用多线程

作者头像
kirin
发布2021-04-09 11:23:57
2K0
发布2021-04-09 11:23:57
举报
文章被收录于专栏:Kirin博客

如果你需要在django视图中使用多线程执行其他任务,然后发现执行完后并没有达到你逾期的执行结果,

那么你可以参考一下我的经验

我是这样实现的

线程函数

代码语言:javascript
复制
def run(pn):

    pub_list = {}  # 参数返回集合
    fi=threading.Thread(target=fin,args=(pn,pub_list))
    al=threading.Thread(target=all,args=(pn,pub_list))
    ic=threading.Thread(target=ick,args=(pn,pub_list))


    print('线程启动')

    fi.start()
    fi.join()
    al.start()
    al.join()
    ic.start()
    ic.join()

    # al=all(pn)
    # ic=ick(pn)
    pub_list['fin_len']=len(pub_list['fin'])
    pub_list['all_len']=len(pub_list['all'])
    pub_list['ick_len']=len(pub_list['ick'])
    print('fin=> ',len(pub_list['fin']),'all=> ',len(pub_list['all']),'ick=> ',len(pub_list['ick']))
    return pub_list

views 视图函数 
def thread():
    run(1)

有没有发现和平常的普通多线程有啥区别?
对了,没有了main,执行入口没有了
代码语言:javascript
复制
if __name__ == '__main__':
如果你在视图执行过程中想要执行多线程,最后运行起来却发现多线程并没有被触发,那么你可以尝试把main去掉
然后重新执行,祝你好运
代码语言:javascript
复制
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档