Python编程
完成条件
Python中的线程用于同时运行多个线程(任务、函数调用)。需要注意的是,这并不意味着它们会在不同的CPU上执行。如果程序已经使用了100%的CPU时间,Python线程不会使程序变得更快。在这种情况下,您可能需要研究并行编程。如果您对Python中的并行编程感兴趣,请参考此处。
Python线程用于执行需要等待的任务。例如,交互式服务(如Web服务器)通常需要等待响应。线程允许Python在等待期间执行其他代码;这可以通过time.sleep
函数轻松模拟。
示例
最小示例:使用函数调用
创建一个线程,打印从1到10的数字,并且每次打印之间等待一秒钟:
import threading
import time
def loop1_10():
for i in range(1, 11):
time.sleep(1)
print(i)
threading.Thread(target=loop1_10).start()
最小示例:使用对象
#!/usr/bin/env python
import threading
import time
class MyThread(threading.Thread):
def run(self): # 默认调用的函数,通过 mythread.start() 调用
print("{} started!".format(self.getName())) # 输出 "Thread-x started!"
time.sleep(1) # 模拟工作一秒
print("{} finished!".format(self.getName())) # 输出 "Thread-x finished!"
def main():
for x in range(4): # 四次...
mythread = MyThread(name="Thread-{}".format(x)) # 实例化一个线程,并传入唯一ID
mythread.start() # 启动线程,run方法会被调用
time.sleep(0.9) # 每启动一个线程,等待0.9秒
if __name__ == '__main__':
main()
输出结果如下:
Thread-0 started!
Thread-1 started!
Thread-0 finished!
Thread-2 started!
Thread-1 finished!
Thread-3 started!
Thread-2 finished!
Thread-3 finished!
最后修改: 2025年01月31日 星期五 01:25