多线程
无冠的king
这个作者很懒,什么都没留下…
展开
-
协程的理解
协程 1. 引入概念 之前我们学习了进程、线程的概念,现在又出现了协程的概念,那协程是不是由线程引发出的比线程更小的单位? 打住,不是你想的那样。协程的本质就是在单线程下,由用户自己控制一个任务遇到io阻塞了就切换另外一个任务去执行,以此来提升效率。它可以控制多个任务之间的切换,切换之前将任务的状态保存下来,以便重新运行时,可以基于暂停的位置继续执行。 2.协程的优缺点 优点 .协程的切换开...原创 2019-08-29 10:08:31 · 220 阅读 · 0 评论 -
python中的线程(一)
线程 1.啥是线程: 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位 2.理解 对于线程的理解,我是在当初学操作系统的时候理解的。那时候只知道,线程是进程引发出来的。但对于为啥引发现在记不清了。所以现在重新复习一下线程。 之所以提出线程是因为之前学的进程有一定的局限性: 进程在一个时间段只能干一件事情。 进程之间的信息不共享,它是封闭的 第一个比较好理解,我来...原创 2019-08-29 10:38:38 · 116 阅读 · 0 评论 -
python中的线程(二)
线程 上回我们说到GIL锁了,这不仅是python弊病,也是解释型语言的弊病。我相信在不久后,python的官方团队或者各位读者会把这个问题解决了的。那我们就接着往下学习线程。 1.进程与线程的效率问题 我们举个例子,我觉得例子能够很好的解释其中的道理。 import time from threading import Thread from multiprocessing impor...原创 2019-08-29 11:10:23 · 86 阅读 · 0 评论 -
python中的线程(三)
线程 根据学进程的节奏,接下来该学锁了。线程也有锁,也分为互斥锁和 递归锁。线程锁较进程锁使用的更为广泛。 首先我先解释一下死锁 1.死锁: 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 举个经典的例子看一下吧 科学家吃面的...原创 2019-08-29 11:32:21 · 131 阅读 · 0 评论 -
python中的线程(四)
线程 1.条件 条件相当于一个复杂的锁。它有四个方法 acquire() release() wait() notify() notify() 这个方法第一次见,它的作用可以理解为造多个锁. Con = Condition 实例一个锁 我们举个例子来说明情况: from threading import Thread,Condition def func(co...原创 2019-08-29 11:48:24 · 402 阅读 · 0 评论