多线程和多进程——21-07-15

#多线程和多进程
#程序 :指的是一段静态的代码指令
#进程:正在执行的程序 将静态的程序代码运行起来 进程内拥有该进程执行所需的全部的资源
#线程:是指正在执行程序的最小单元 一个进程当中至少必须有一个线程(主线程),在程序中 线程是独立的,可运行的流
#多线程:在单个程序中 同时运行多个不同的线程完成不同的工作,称为多线程
##进程特征:1 独立性:进程是系统中独立存在的实体,拥有独立的资源空间 2 动态性 进程拥有自己的生命周期{有开始和结束的确切时间} 3 并发性 多个进程可以在单个处理器上并发执行,互不影响

注意 单核cpu在一段时间只能做一件事情 多核cpu就不一样了 就可以一段时间做两件事儿了

##线程特性:1 每个线程都有自己的堆栈 都有自己的程序计数器,都有自己的局部变量,体现了每个线程的独立性 2 在相同的父进程下可以共享进程内的所有资源,可以实现线程间的信息互通
#3 多线程之间也可以进行并发执行 互不影响

‘’‘多线程创建方式 1 thread 底层线程操作 一般不会采用此方法
2 threading 第一种方法 使用threading 模块中的 Thread类的构造器创建新的线程 第二种方法 继承threading模块的Thread类来创建线程类’’’

硬核知识点:
无论是主线程或者是子线程 他们都是相互独立的 只不过是主线程去吩咐了一声子线程 让子线程1去干啥 让子线程2去干啥 至于主线程的活儿和主线程吩咐的子线程所干的活啥时候干完 没有任何联系
他们是相互独立的

线程代码应用
import threading
class Dermo():
def music(self,x):
for i in range(3)
print(f"他正在听{x}歌曲")
def movie(self,y):
for i in range(3)
print(f"他正在看{y}电影")
if name == ‘main’:
d = Demo()
#注意 target 后接的是函数的引用 所以 在实例化类之后 要用实例化后的类去引用函数
t1 = threading.Thread(target=d.music,args=(“奔跑”,)) # 子线程1
t2 = threading.Thread(target=d.movie,args=(“喜羊羊”,)) #子线程2
t1.start()
t2.start()
print(“都玩完了”)

线程主要注意:
1 有子线程肯定会存在主线程
2 target后接的是函数的引用 不是调用 所以不用加括号
3 arg后接元组 所以 必须得有逗号 别忘了
4 子线程启动必须要start

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值