社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Python小屋 • 9 年前 • 724 次点击  

在上一节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多线程编程基础2:如何创建线程


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

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

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



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/Q4U8sl1Cma
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2604