<dl id="opymh"></dl>

<div id="opymh"></div>
      <div id="opymh"><tr id="opymh"></tr></div>

        <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

        <em id="opymh"></em>

        <em id="opymh"><ol id="opymh"></ol></em>

              对于python多层级子线程使用join不能阻塞的疑惑

              0 0 python
              汉有游女,不可求思。
              2018-10-18 11:04:28 提问

              关注 0关注

              收藏 0收藏, 1993浏览

              def a(i):
                  t = threading.Thread(target=b, args=(i,))
                  t.start()
              def b(i):
                  for j in range(100):
                      print i
              
              
              if __name__ == '__main__':
                  for i in range(100):
                      t = threading.Thread(target=a, args=(i,))
                      t.start()
                      t.join()

              ?#35745;?#25551;述

              代码如上, 加了join,按理说是应该阻塞.但运行结果不是我预期的顺序1111...,2222...,3333...
              如果没有子线程,也就是a函数里直接调用b的话,就是我预期的按顺序的结果. 求解惑

              请先 登录 后评论

              2个回答

              • 豌?#24037;?#35910;98声望 2018-10-15 16:02

                我在自己的机器上测试正常,你用命令行跑一?#38382;?#35797;。建议把输出重定向到文件,方便查看。 python thread_test.py > output.txt
                请先 登录 后评论
              • java_大星星133声望 2018-10-15 16:02

                我觉得没什么问题,你仔细看看,这个 t.join() 阻塞的是哪个线程,是 target=a 会等到a函数运行结束。而 a 函数里另起了个线程b。这个 t.join() 并不会阻塞 b 线程。如果你想 a 函数结束时也要 线程b结束,可以: def a(i): t = threading.Thread(target=b, args=(i,)) t.start() t.join()
                请先 登录 后评论
              悬赏追问
              10
              • 10
              • 20
              • 50
              • 100
              • 200
              • 输入数值
              发布追问
              极速飞艇好假
              <dl id="opymh"></dl>

              <div id="opymh"></div>
                  <div id="opymh"><tr id="opymh"></tr></div>

                    <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

                    <em id="opymh"></em>

                    <em id="opymh"><ol id="opymh"></ol></em>

                          <dl id="opymh"></dl>

                          <div id="opymh"></div>
                              <div id="opymh"><tr id="opymh"></tr></div>

                                <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

                                <em id="opymh"></em>

                                <em id="opymh"><ol id="opymh"></ol></em>

                                      羽毛球女单 大乐透每天销售时间 安徽快3自由的百科) 今天江苏快3豹子推荐号 pk10牛牛公式图解 雷锋六肖中特 加拿大快乐8最快开奖 福建快3基本走图 福彩 2019年马会全年免费资料 免费一注3d 二同号单选怎么看中奖 云南时时彩开奖中 竞彩篮球大小分的规律 福建36选7玩法