django多线程问题

最近在学习django,想实战写个小程序练手来着,在多线程这块有点搞不明白,请大佬们给解释一下

我想实现的功能:
从数据库里取出来一列记录,然后去重后,执行后续代码。

def Sub_ChangeIp(pax):
    p0 = Pool(processes=pool_count)
    for i in range(pool_count):
        p0.apply_async(Start_ChangeIp_Run)
    p0.close()
    p0.join()

启动线程调用Start_ChangeIp_Run函数

def Start_ChangeIp_Run():
    ...
    while 1:
        Change_IP_Info()
    ...

然后调用Change_IP_Info

def Change_IP_Info():
    target_ip = IP.objects.filter(get='C')[0]
    ...

现在是需要在Change_IP_Info函数里从数据库里查询某一列数据,然后对数据去重排序,再调用后续代码进行处理,但是这里的问题来了,我该如何去查询数据库里的数据呢?

尝试过很多次都是因为多线程共同查询,导致结果不对,有没有办法让数据库查询的时候不进行多线程,或者在多线程下进行这种数据查询的代码该怎么写呢?

阅读 753
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题