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)主线程不等守护者,但要等没守护者
  • 相关阅读:
    21.网络文件共享服务
    20.LANMP架构
    18.自动运维工具ansible
    17.MySQL数据库
    16.DNS服务
    15.系统自动部署
    14.加密技术和安全
    13.系统启动和服务管理
    12.进程管理和计划任务
    11.网络管理和配置
  • 原文地址:https://www.cnblogs.com/Finance-IT-gao/p/10595438.html
Copyright © 2011-2022 走看看