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

本文介绍了Python多线程基础知识,通过一个简单的`threading`模块例子,展示如何创建并运行一个后台心跳进程。代码示例中,程序会定时输出信号,确保程序正常运行。注意避免将函数直接调用传入Thread,而应传入函数对象本身。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

笔者初学 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() 。这是个很新手的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值