多线程中等待回调函数的问题

小小爬虾 2019-07-21 07:57:36
我有一个程序,创建了多线程,每个子线程中都会调用回调函数,如何等待每一个子线程的回调函数执行完毕呢?
代码如下:

import threading

def callback():
print 'aaaaaaaaaaaaaaaaaaaaaa'


class XXXThread(threading.Thread):
#初始化
def inin();
#运行
def run(self):
print '线程'+X+'开始执行'
myfunc(callback)
#如何等待回调函数callback的返回?
print '线程'+X+'执行完毕'

for i in range(MAX_TEST_THREADS):
_thread = XXXThread(参数)
_thread.start()

-----------------
即如何让结果为如下样式:
线程1开始执行
aaaaaaaaaaaaaaaaaaaaaa
线程1执行完毕

线程2开始执行
aaaaaaaaaaaaaaaaaaaaaa
线程2执行完毕

。。。。
...全文
211 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘东灵 2019-07-29
  • 打赏
  • 举报
回复
对于回调函数设置一个redis的锁, 只有回调函数能够 删除该锁, 然后继续持有就可以了,
刘东灵 2019-07-25
  • 打赏
  • 举报
回复
加个分布式锁就可搞定了
小小爬虾 2019-07-25
  • 打赏
  • 举报
回复
引用 2 楼 刘东灵 的回复:
加个分布式锁就可搞定了
谢谢!您能详细再说一下吗,我比较菜
小小爬虾 2019-07-22
  • 打赏
  • 举报
回复
自己顶一下

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧