zoukankan      html  css  js  c++  java
  • 多线程并发实例

     1 import time
     2 import threading
     3 start = time.time()
     4 print('欢迎来到相声大会')
     5 def music(name):
     6         print(threading.current_thread())
     7         print('开始播放%s' %name)
     8         time.sleep(2)
     9         print('播放结束')
    10 def movie(name):
    11         print(threading.current_thread())
    12         print('开始放映%s' %name)
    13         time.sleep(5)
    14         print('放映结束')
    15 
    16 # music('我想,我想')
    17 # movie('肖申克的救赎')
    18 
    19 t1 = threading.Thread(target=music,args=('我想,我想',))        #创建线程t1
    20 t2 = threading.Thread(target=movie,args=('肖申克的救赎',))        #创建线程t2
    21 t1.setDaemon(True)    #t1守护主线程:主线程跑完后结束,不等t1
    22 t2.setDaemon(True)    #t2守护主线程:主线程跑完后结束,不等t2
    23 t1.start()     #启动线程
    24 t2.start()
    25 # t1.join()     #t1执行完之前,下面的主线程将阻塞
    26 # t2.join()     #t2执行完之后,下面的主线程才可以开始。同上
    27 print(threading.active_count())   #打印正在运行的线程数
    28 print('晚会结束')
    29 end = time.time()
    30 print(end-start)
    1.以上单线程执行7s,多线程执行5s。体现了多线程的优势
    2.(1)守护线程是指:子线程守护主线程;
    (2)主线程结束程序就结束,不用等子线程
    (3)主线程不等守护者,但要等没守护者
  • 相关阅读:
    MemoryCache
    Page.Cache
    webform运行时弹出JavaScript的alert窗口
    server.Transfer不工作
    Server.Transfer VS Response.Redirect – Simplified
    Code Pages
    Unicode, UTF, ASCII, ANSI format differences
    Character Encoding in .NET
    分布式之消息队列复习精讲
    Understand:高效代码静态分析神器详解(一)
  • 原文地址:https://www.cnblogs.com/Finance-IT-gao/p/10595438.html
Copyright © 2011-2022 走看看