python 串行执行和并行执行实例

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 来实现串行和并行执行,并了解串行执行和并行执行的区别和优缺点。

后端开发标签