多线程(一)

单核CPU:同一时刻,只处理一件事情
单核CPU执行多任务:时间片轮转(优先级调度)

并发
操作系统轮流让各个任务交替执行,由于CPU的执行速度很快,实现了一种假的多任务

并行
真正的并行执行多任务只能在多核CPU上实现,但是,由于任务数量远远多于CPU的核心数量,所以,操作系统也会自动把很多任务轮流调度到每个核心上执行。

python threading模块实现多线程

import threading
import time

# 一个主线程,两个子线程
# 主线程会等待所有子线程结束,才会结束
def fun1():
	print("任务一正在执行")
	sleep(1)
def func2():
	print("任务二正在执行")
	sleep(1)

if __name__ == "__main__":
	t1 = threading.Thread(target = func1)
	t2 = threading.Thread(target = func2)
	t1.start()
	t2.start()
	print("主线程正在执行")

	# threading.enumerate()获取当前程序所有的线程
	length = len(threading.enumerate())

构建一个类,对线程进行封装

import threading
import time

# 必须继承threading.Thread
# 必须定义run方法(相当于重写threading.Thread中的run)
# start方法继承自threading.Thread,调用start会自动调用run,run结束,线程结束
class MyThread(threading.Thread):
	def run(self):
		for i in range(3):
			time.sleep(1)
			msg = "I'm" + self.name + '@' + str(i) #self
			print(msg)

if __name__ == "__main__":
	t = Mythread();
	t.start()

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值