Python 多线程工具包 threading 的超简单例子

笔者初学 Python,在编程中,遇到了多线程的问题,即需要一个程序中的几部分同时运行。

例如:给一个后台程序写一个“心跳进程”,定时输出信号,以确认程序正常运行。

在网上搜索了下发现有不少帖子,但总感觉帖子中举的例子不够简单和直观,遂决定写个自己觉得够简单直观的例子。代码如下:

import threading  # 导入 threading 包
import time  # 用来控制时间

def f1():  # 定义函数,从 0 开始,每隔一秒,打印下一个自然数
	n = 0
	while True:
		print(n)
		n = n + 1
		time.sleep(1)
		
		
def f2():  # 定义函数,每隔三秒,打印字符串 hahaha
	while True:
		time.sleep(3)
		print('hahaha')
		

threading.Thread(target=f1).start()  # 开始一个线程,执行 f1 函数
threading.Thread(target=f2).start()  # 开始另一个线程,执行 f2 函数

执行代码,会得到以下结果:

0
1
2
hahaha
3
4
5
hahaha
6

程序将一直运行下去。

值得补充的是,笔者刚开始将 target=f1 写成了 target=f1(),这是错误的。因为需要传递给 Thread 方法的是函数 f1,而不是其返回值 f1() 。这是个很新手的错误。

猜你喜欢

转载自blog.csdn.net/mywang88/article/details/83628735