千锋教育-做有情怀、有良心、有品质的职业教育机构

python什么是主线程

来源:千锋教育
发布时间:2023-11-09 08:12:25
分享

Python主线程和子线程

setDaemon(False)

当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行的最小单位,当设置多线程时,主线程会创建多个子线程,在Python中,默认情况下就是setDaemon(False),主线程执行完自己的任务以后,就退出了,此时子线程会继续执行自己的任务,直到自己的任务结束;

案例

importthreading

importtime

defthread():

time.sleep(2)

print('---子线程结束---')

defmain():

t1=threading.Thread(target=thread)

t1.start()

print('---主线程---结束')

if__name__=='__main__':

main()

执行结果

---主线程---结束

---子线程结束---

setDaemon(True)

当我们使用setDaemon(True)时,这是子线程为守护线程,主线程一旦执行结束,则全部子线程被强制终止。

案例

importthreading

importtime

defthread():

time.sleep(2)

print('---子线程结束---')

defmain():

t1=threading.Thread(target=thread)

t1.setDaemon(True)#设置子线程守护主线程

t1.start()

print('---主线程结束---')

if__name__=='__main__':

main()

执行结果

---主线程结束---#只有主线程结束,子线程来不及执行就被强制结束

以上内容为大家介绍了python培训之什么是主线程,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python怎么生成随机数 以下实例演示了python如何生成一个随机数:#生成0~9之间的随机数#导入random(随机数)模块importrandomprint(random.randint(0,9))执行以上代码输出结果为
  • python怎样导入包 python中的包即为模块,模块就是以.py类型结尾的python文件。导入模块常用的方式是importmodel_name,或者用from..importmodel_name,下面分别说一下两者的用
  • pythontime模块怎么用 python的time模块time这个模块提供各种与时间相关的函数。相关功能,可以参见datetime和calendat模块。此模块并非所有平台提供所有功能,因平台而异。以下是对一些术语和惯例的解释初
  • pythonpip有什么用 python的pip介绍与使用一、简介pip是一个安装和管理Python包的工具,python安装包的工具有easy_install,setuptools,pip,distribute等。distri
  • pythonrequests是什么 requests是一个Python第三方库,处理URL资源特别方便。安装requests如果安装了Anaconda,requests就已经可用了。否则,需要在命令行下通过pip安装:$pipinsta
  • python有必要去培训机构学习么 我是一新手学习Python有需要去培训的必要吗?我想这也是大家现在正在困扰的问题,那么Python值不值得花钱去报培训班呢?今天我们就来讨论一下Python是不是应该培训,有没有必要培训:分析首先我们