关于进程和线程的概念可以看这篇文章:
https://blog.youkuaiyun.com/ThinkWon/article/details/102021274
什么时候需要多线程编程?简单来说就是一个程序里面有比较耗时间的操作,你希望先让它单独跑着,直接开始进行下一步的操作(Python默认情况下会按顺序一步步完成)。看一个简单的例子:
import threading
import time
def looper(alert):
while True:
print(alert)
time.sleep(3)
th = threading.Thread(target=looper, args=('hair -1 !', ))
th.start()
可以直接在命令行终端运行这一段代码,就会开始了一个线程,它属于 Python 这个进程。looper 这里是一个死循环,每个三秒在终端打印一段字符。运行后如下:

可以看到 looper 函数已经在一个单独的线程里面跑起来了,这时候 Python 解释器还可以在新的线程里面处理新的操作,比如算一下 1+1 啥的。只要进程没结束,这个线程也会一直运行,直到完成。这个时候如果输入 quit() 命令,会退出 Python 终端,但是循环还是会继续运行,查看任务管理器会发现 Python 进程依然存在。但是 cmd 已经不允许你执行任何命令了,可以理解为 Python 残留了一个线程(因为上例中是一个死循环)。强行关闭 cmd 窗口之后,Python 进程才会结束。
通过这个例子就可以很好地理解它的逻辑,还是很有实际应用价值的。例如在机器学习中,我们可能需要对数据执行不同的特征工程,应用于不同的模型,来对比性能。就可以通过多个线程来并行地执行,加快处理速度。
理解Python中的多线程与进程概念
文章通过一个Python多线程示例解释了何时需要使用多线程编程。当程序中有耗时操作时,多线程可以让程序并行执行其他任务。文中展示了创建线程的例子,说明线程可以在主程序继续运行的同时持续执行,提高处理效率,特别是在机器学习场景中,可用于加速特征工程和模型对比。

被折叠的 条评论
为什么被折叠?



