zoukankan      html  css  js  c++  java
  • python多线程

    python多线程基本用法:

     1 import threading 
     2 from time import sleep
     3 import time
     4 
     5 
     6 def task1():
     7     print("Task 1 executed.")
     8     sleep(1)
     9 def task2():
    10     print("Task 2 executed.")
    11     sleep(5)
    12 
    13 print("多线程:")
    14 starttime = time.time() # 记录开始时间
    15 threads = []  # 创建一个线程列表,用于存放需要执行的子线程
    16 t1 = threading.Thread(target=task1)  # 创建第一个子线程,子线程的任务是调用task1函数,注意函数名后不能有()
    17 threads.append(t1)  # 将这个子线程添加到线程列表中
    18 t2 = threading.Thread(target=task2)  # 创建第二个子线程
    19 threads.append(t2)  # 将这个子线程添加到线程列表中
    20 
    21 for t in threads:  # 遍历线程列表
    22     t.setDaemon(True)  # 将线程声明为守护线程,必须在start() 方法调用之前设置,如果不设置为守护线程程序会被无限挂起
    23     t.start()  # 启动子线程
    24 endtime = time.time()  # 记录程序结束时间
    25 totaltime = endtime - starttime  # 计算程序执行耗时
    26 print("耗时:%s秒"%totaltime)  # 格式输出耗时
    27 print('---------------------------')
    28 
    29 # 以下为普通的单线程执行过程,不需解释
    30 print("单线程:")
    31 starttime = time.time()
    32 task1()
    33 task2()
    34 endtime = time.time()
    35 totaltime = endtime - starttime
    36 print("耗时:%s 秒"%totaltime)
  • 相关阅读:
    描述一下 JVM 加载 class 文件的原理机制?
    Java 中会存在内存泄漏吗,请简单描述
    关于同步机制的一些见解
    Mybatis 一对一,一对多,多对一,多对多的理解
    关于JavaBean实现Serializable接口的见解
    Python 文件I/O
    Python 模块
    Python 函数
    Python time tzset()方法
    Python time time()方法
  • 原文地址:https://www.cnblogs.com/jayson-0425/p/9921296.html
Copyright © 2011-2022 走看看