线程

1. 线程概念
  线程就是进程内部的一条执行线索
  在进程内部默认存在的一个线程 -- 主线程
  新创建出来的  -- 子线程
  现代的操作 是以线程为调度的基本单位 单元

 2. 创建子线程
  创建Thread类的对象

  对象 = threading.Thread()
  函数参数
   target参数 指定 子线程运行的函数
   args参数指定    子线程运行的函数所需的位置参数 -元组
   kwargs参数指定  子线程运行的函数所需的关键字参数 -字典

  启动进程的创建和执行
  .start()

  阻塞等待 子线程执行完成
  .join()

 3、多线程知识回顾

  创建一个线程方式1
   import threading
   thd = threading.Thread(target=函数, args=(), kwargs={})
   thd.start()

  创建一个线程方式2
   class mythread(threading.Thread):
    def run(self):
     pass

  等待子线程运行完成
   .join()

  多线程执行顺序如何?
   无序

  同一个进程的线程 共享 _全局变量__ ?


  什么是 多线程同步?
   协同-保持秩序

  互斥锁的特点?
   能够保证同一时间点 只有一个线程能够成功获取

  如何使用
   创建
    lock = threading.Lock()
   申请
    lock.acquire() = lock.acquire(True) = lock.acquire(True, -1)
    lock.acquire(True, 10)
   释放
    lock.release()

 4、多任务的应用场景
  爬虫
 5、GIL 全局解释器锁-cpython中 -> c语言中的内存管理 只能同时被一个线程访问

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值