python中的线程

线程

线程,可以理解为程序的一条分支,也是程序执行流的最小单元.线程是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可以与同属一个进程的其他线程共享进程所拥有的全部资源.

并发和并行

  • 并发:指的是任务数多于cpu核数,通过操作系统的各种任务调度算法,实现多个任务’一起’执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)
  • 并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的

同步和异步

  • 同步:多任务,多个任务之间执行的时候要求有先后顺序,必须一个先执行完成后,另一个才能继续执行,只有一个主线.
  • 异步:指的是,多个任务之间没有先后顺序,可以同时运行,执行的先后顺序不会有什么影响,存在的多条运行主线.

互斥锁

  • 互斥锁:当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制
    某个线程更改要改变共享数据时,先将其锁定,此时的资源的状态为锁定,其他线程不能更改;直到该线程释放资源,将资源的状态变成非锁定,其他的线程才能再次锁定该资源.互斥锁保证了每次只有一个线程进行写入操作,从而保证了多线程情况下的数据的正确性.

死锁

  • 在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值