当前位置: 代码迷 >> 综合 >> Python3代码实现简单的多线程-Threading
  详细解决方案

Python3代码实现简单的多线程-Threading

热度:91   发布时间:2023-12-25 05:54:42.0

线程


在程序里一个执行路线就叫做线程,线程是程序执行的最小单位.

多线程


多线程类似于同时执行多个不同程序,多线程运行有如下优点:

使用线程可以把占据长时间的程序中的任务放到后台去处理。
程序的运行速度可能加快
在一些等待的任务实现上如用户输入、文件读写和网络收发数据等。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。
Python3 通过两个标准库 _thread 和 threading 提供对线程的支持,由于_thread只是为了兼容python2的thread模块,所以推荐使用threading模块实现多线程。
threading提供了如下方法:
- run(): 用以表示线程活动的方法。
- start():启动线程活动。
- join([time]): 等待至线程中止。
- isAlive(): 返回线程是否活动的。
- getName(): 返回线程名。
- setName(): 设置线程名。

Python中使用线程有两种方式:函数或者用类来包装线程对象。
函数方式:
导入threading包
对象名= threading.Thread(target = 函数名) 创建线程对象
对象名.start() 创建线程
   注:由于代码执行过快,为了显示效果,使用sleep延时执行。


代码:

import threading
import timedef dog(num):for i in range(num):print("dog%d" % i)time.sleep(0.5)def cat(num):for i in range(num):print("cat%d" % i)time.sleep(0.5)def main():"""创建启动线程"""t_dog = threading.Thread(target=dog, args=(5,))t_cat = threading.Thread(target=cat, args=(6, ))t_dog.start()t_cat.start()if __name__ == '__main__':main()

注意事项:

像这里的

t_dog = threading.Thread(target=dog, args=(5,))

 args=(5,) 中的5后面的逗号要记得加上,如果调用多线程的函数不用传入参数就不用写5,;如果有就要加上逗号!!!否则就会出错

  相关解决方案