Python基础之并发编程

发布于 2020-9-29 17:16
浏览
0收藏

在 Python 学习的过程中,并发编程有些概念我们可能在理解上有些模糊,这些概念却很重要。下面我讲逐一解释一下并发和并行,同步和异步,阻塞和非阻塞。

 

并发&并行


并发:在 OS 中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。简言之,是指系统具有处理多个任务的能力。

并行:当系统有一个以上 CPU 时,则线程的操作有可能非并发。当一个 CPU 执行一个线程时,另一个 CPU 可以执行另一个线程,两个线程互不抢占 CPU 资源,可以同时进行,这种方式我们称之为并行(Parallel)。简言之,是指系统具有同时处理多个任务的能力。

实例1:

import time
 
 
def music():
    print('Begin music time:{}'.format(time.ctime()))
    time.sleep(3)
    print('Stop music time:{}'.format(time.ctime()))
 
 
def game():
    print('Begin game time:{}'.format(time.ctime()))
    time.sleep(5)
    print('Stop game time:{}'.format(time.ctime()))
 
 
if __name__ == '__main__':
    start_time = time.ctime()
    print('Start time:{}'.format(start_time))
 
    music()
    game()
 
    end_time = time.ctime()
    print('End time:{}'.format(time.ctime()))

运行结果:

Start time:Mon Mar 18 12:35:23 2019
Begin music time:Mon Mar 18 12:35:23 2019
Stop music time:Mon Mar 18 12:35:26 2019
Begin game time:Mon Mar 18 12:35:26 2019
Stop game time:Mon Mar 18 12:35:31 2019
End time:Mon Mar 18 12:35:31 2019

Process finished with exit code 0

music 的时间为3秒,game 的时间为5秒,如果按照我们正常的执行,直接执行函数,那么将按顺序顺序执行,整个过程8秒。

 

 

已于2020-9-29 17:16:28修改
收藏
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐