【11】Python3 - 使用thread和threading 实现多线程

python实现多线程

  • python实现多线程的包有thread和threading

thread:

  • 在python3中,被改成了_thread
  • thread的使用,启动多线程的语句如下,有两个参数,一个是需要运行的函数名,一个是需要运行的函数的参数作为元组传入。如果没有参数则也要使用空元组。如果只有一个参数,要注意加逗号。
_thread.start_new_thread(funcname,(parameters))

threading:

  • threading是常用的包。
使用方式1
  • 直接使用threading.Thread生成Thread实例。target是需要以线程方式运行的函数名,args是参数,与上一种方式的参数要求相同。
t = thread.Thread(target=xxx,args=(,))
t.start()  # 开始线程
t.join()  # 等待线程结束
使用方式2
  • 直接继承自threading.Thread
  • 此种使用方式,需要重写run函数!!
# 首先定义一个类,继承自threading.Thread
clss MyThread(threading.Thread):
	# init函数可以不写,如果写的话,要调用父类的构造函数
    def __init__(self, arg):
        super(MyThread, self).__init__()
        self.arg = arg
	
	# 必须重写run函数,run函数是线程启动的时候,真正执行的内容
	def run(self):
		pass

多进程和多线程的相关概念

  • 进程指的是程序运行的一个状态,每个进程有自己独立的运行环境。
  • 线程可以理解为轻量级的进程,是进程的一个独立运行的片段。
  • 一个进程可以有多个线程,并且一个进程的多个线程之间共享数据和上下文运行环境。此时要考虑共享互斥问题。
  • 全局解释器锁GIL:解决互斥
  • 多线程可以提高cpu等资源的利用率。

注:本文是本人根据北京图灵学院的python课程自己整理的笔记哒,转载请注明出处哈~

分享一个有关线程的博客

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值