美文网首页
Python多线程

Python多线程

作者: 王文强Python | 来源:发表于2019-12-19 19:58 被阅读0次

1、两种创建方式 :

import threading
(1)、直接通过传递函数到对象中 t = threading.Thread(target = 函数名)
(2)、创建子类继承 threading.Thread 类重写 def run(self):方法里面写逻辑
(3)、调用时用 t = MyThread() 实例化子类创建新线程

2、线程的执行: t.start() 表示开始执行,主线程会等着子线程执行完后再结束
3、线程无执行顺序,只和操作系统调度有关,是操作系统最小执行单位。
4、多个线程之间共享全局变量(缺点是容易出现混乱),但是函数里面的变量不共享。
5、为了避免混乱,可采用轮询的方式(即:通过修改变量的值,用死循环来判断是否满足条件,
达到控制满足条件时后再执行),但是这种方式效率比较低,一般不考虑。
6、互斥锁:互斥锁是已通知的形式效率比轮询高,锁定以后返回True,缺点是容易出现死锁。

(1)创建锁:mutex = threading.Lock() 
(2)锁定: mutex.acquire([blocking]) 
(3)释放: mutex.release()

7、生成者与消费者模式:通过一个容器来解决生产者与消费者的强耦合问题,他们彼此之间不直接
通讯,而是通过阻塞队列来进行通讯,这个阻塞队列是用来给生产者和消费者解耦,完成两个线程之
间的通讯:Queue用法和进程中的使用方法一样只是导包的时候不一样。
8、创建ThreadLocal全局对象,每个进程都可以读写多个属性且互不影响,也不用上锁,最常用的是
为每个线程绑定一个数据库连接、http请求、用户身份信息等

相关文章

  • GIL

    谈谈python的GIL、多线程、多进程 最近在看 Python 的多线程,经常我们会听到老手说:“python下...

  • Python多线程编程——多线程编程中的加锁机制

    如果大家对Python中的多线程编程不是很了解,推荐大家阅读之前的两篇文章:Python多线程编程——多线程基础介...

  • 5-线程(补充)

    Python多线程原理与实战 目的: (1)了解python线程执行原理 (2)掌握多线程编程与线程同步 (3)了...

  • Python_提高

    GIL全局解释器锁 描述Python GIL的概念, 以及它对python多线程的影响?编写⼀个 多线程抓取⽹⻚的...

  • Python程序员都知道的入门知识の八

    目录【Python程序员都知道的入门知识】 1. 多线程threading、Queue Python的多线程由th...

  • Python多线程实现生产者消费者

    1. Python多线程介绍 Python提供了两个有关多线程的标准库,thread和threading。thre...

  • 多线程

    Python多线程原理与实战 目的: (1)了解python线程执行原理 (2)掌握多线程编程与线程同步 (3)了...

  • Python多线程(上)

    前言 说起Python的多线程,很多人都嗤之以鼻,说Python的多线程是假的多线程,没有用,或者说不好用,那本次...

  • Python 3中的多线程

    Python 3的多线程 Python 3的多线程模块threading在旧版_thread模块基础上进行了更高层...

  • Python 多线程抓取图片效率实验

    Python 多线程抓取图片效率实验 实验目的: 是学习python 多线程的工作原理,及通过抓取400张图片这种...

网友评论

      本文标题:Python多线程

      本文链接:https://www.haomeiwen.com/subject/icsvnctx.html