python多线程调用函数_Python多线程编程基础3:创建线程与调用函数的区别

在上一节Python多线程编程基础2:如何创建线程中,我们已经知道,创建线程并运行实际上也是执行一段代码,那么把这些代码封装到函数中之后,直接调用函数和创建线程再运行有什么区别呢?这是本文要解释的内容。简单地说,调用函数属于阻塞模式,必须要等函数运行结束并返回之后才能执行后面的代码;而线程属于并发非阻塞模式,创建并启动子线程之后子线程和主线程并发执行,除非有现成同步的代码和机制。

下面代码首先定义一个函数,然后调用这个函数,函数执行结束之后再继续执行后面的代码:

from threading import Thread

from time import sleep

def demo(n):

sleep(n)

print(n)

demo(3)

print('ok')

运行结果为:

3

ok

而下面的代码首先定义函数,然后创建线程来执行这个函数中的代码:

from threading import Thread

from time import sleep

def demo(n):

sleep(n)

print(n)

t = Thread(target=demo, args=(3,))

t.start()

print('ok')

运行结果为:

ok

3

--------------我是分割线-------------

有关阅读:

--------------我是分割线-------------

“Python小屋”公众号近期主要活动:

1、Python师资培训班:8月6日-12日,济南,面向全国高校老师和企业朋友,通知详见关于举办2017年暑期全国高校教师 “Python编程及应用”培训班通知,赠送Python教材2本、Python教学PPT超过1600页,Python教学视频140集,Python教学案例300个,以及教学大纲、教案、考试题库等全套资源。补充说明:如果不需要安排住宿的话,5天学费2100元(含午餐)。

你可能感兴趣的:(python多线程调用函数)