在 Ubuntu 系统里使用 Python 进行多线程编程,其实比想象中简单得多。Python 内置的 threading 模块正是为这个场景设计的。下面通过一个经典小示例,带你直观感受线程是如何跑起来的。

开始之前,请先确认一下 Python 环境是否就绪。打开终端,运行下面这条命令查看版本:
python3 --version
如果提示未安装,则按以下步骤补上安装步骤:
sudo apt-get update
sudo apt-get install python3
环境准备完毕之后,新建一个 Python 文件,命名为 multithreading_example.py,然后把以下代码粘贴进去:
import threading
def print_numbers():
for i in range(1, 11):
print(i)
def print_letters():
for letter in 'abcdefghij':
print(letter)
# 创建线程
thread1 = threading.Thread(target=print_numbers)
thread2 = threading.Thread(target=print_letters)
# 启动线程
thread1.start()
thread2.start()
# 等待线程完成
thread1.join()
thread2.join()
print("Finished.")
这段代码的意图很清晰:print_numbers 函数负责输出数字 1 到 10,print_letters 函数负责输出字母 a 到 j。随后以这两个函数作为 target 参数,分别创建两个线程。调用 start() 让线程开始执行,最后通过 join() 等待两个线程都完成任务后再打印 "Finished."。
运行一下看看实际效果:
python3 multithreading_example.py
你将看到数字与字母交替打印出来——这直观说明两个线程确实在同时运行。尽管由于全局解释器锁(GIL)的存在,Python 多线程在 CPU 密集型任务中无法真正实现并行,但对于 I/O 密集型场景(例如网络请求、文件读写),这种模式已经非常实用。如果确实需要处理 CPU 密集型的计算,可以转向 multiprocessing 模块,借助多进程来实现真正的并行执行。
