1. 串行执行与并行执行的概念及介绍
在计算机编程中,串行执行是按照顺序依次执行的方式,即每个任务必须按顺序执行完后才能执行下一个任务。这种方式执行的程序速度较慢,因为每个任务必须等待上一个任务完成后才能开始执行。并行执行则是同时执行多个任务,多个任务可以并行执行,每个任务在不同的 CPU 核心上执行。并行执行可以节省时间,提高程序的执行效率。
在 Python 中,串行执行通常是指单线程执行,而并行执行通常是指使用多线程或多进程执行。
2. Python中的串行执行实例
2.1 实现一个简单的计时器
下面这个例子演示了如何使用 Python 实现一个简单的计时器,每隔一秒钟输出一次当前的时间。
import time
def timer():
while True:
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
time.sleep(1)
timer()
这个程序使用了Python自带的time模块,time模块中的sleep函数可以让程序暂停指定的时间。在这个例子中,程序先获取当前时间,然后输出当前时间,最后暂停1秒钟等待下一个循环。
3. Python中的并行执行实例
3.1 使用 multiprocessing 模块创建子进程
Python自带的multiprocessing模块可以用来创建子进程。下面的例子演示了如何使用 multiprocessing模块创建一个子进程,在子进程中输出一些信息,并在主进程中等待子进程结束。
import multiprocessing
import os
def print_info():
print('子进程ID:{}'.format(os.getpid()))
if __name__ == '__main__':
p = multiprocessing.Process(target=print_info)
p.start()
p.join()
print('主进程结束。')
在这个例子中,主进程创建了一个子进程,并使用start()方法启动子进程,使用join()方法等待子进程结束,最后输出一条信息表明主进程结束了。
3.2 使用 threading 模块创建子线程
Python自带的threading模块可以用来创建子线程。下面的例子演示了如何使用 threading模块创建一个子线程,在子线程中输出一些信息,并在主线程中等待子线程结束。
import threading
import time
def print_info():
for i in range(10):
print('子线程ID:{},{}'.format(threading.currentThread().getName(), i))
time.sleep(1)
t1 = threading.Thread(target=print_info)
t1.start()
t1.join()
print('主线程结束。')
在这个例子中,主线程创建了一个子线程,并使用start()方法启动子线程,使用join()方法等待子线程结束,最后输出一条信息表明主线程结束了。
总结
本文介绍了 Python 中串行执行和并行执行的概念和实例。通过本文的介绍,读者可以了解如何使用 Python 来实现串行和并行执行,并了解串行执行和并行执行的区别和优缺点。