zoukankan      html  css  js  c++  java
  • 小练习:思考下述代码的执行结果有可能是哪些情况?为什么?

    思考下述代码的执行结果有可能是哪些情况?为什么?

     1 from threading import Thread
     2 import time
     3 
     4 def foo():
     5     print(123)
     6     time.sleep(1)
     7     print("end123")
     8 
     9 def bar():
    10     print(456)
    11     time.sleep(3)
    12     print("end456")
    13 
    14 if __name__ == '__main__':
    15     t1=Thread(target=foo)
    16     t2=Thread(target=bar)
    17 
    18     t1.daemon=True
    19     t1.start()
    20     t2.start()
    21     print("main-------")

      分析:

      t1是主线程"main-------"的守护线程,所以在主线程结束后,t1就会结束.主线程在等待t2运行完毕后才会结束,但是t2中有个2秒的延时,t1中有个1秒的延时,这意味着,在等待t2运行结束的这段时间里,t1早就结束了.(也就是说,t1不用等待主线程结束后才结束).所以,上面代码的输出结果应该是:

      

    1 123
    2 456
    3 main-------
    4 end123
    5 end456
  • 相关阅读:
    jQuery文档处理--事件--动画
    jQuery选择器
    jQuery入门
    正则表达式
    Bootstrap 的基本实现
    JavaScript--DOM
    JavaScript--BOM
    JavaScript--ECMAScript
    CSS3动画
    CSS3新增的选择器
  • 原文地址:https://www.cnblogs.com/lovepy3/p/9279308.html
Copyright © 2011-2022 走看看