大多数互联网系统都是分布式部署的,分布式部署确实能带来性能和效率上的提升,但为此,我们就需要多解决一个分布式环境下,数据一致性的问题。 当某个资源在多系统之间,具有共享性的时候,为了保证大家访问这个资源数据是一致的,那么就必须要求在同一时刻只能被一个客户端处理,不能并发的执行,否者就会出现同一时刻有 ...
分类:
其他好文 时间:
2019-01-15 14:03:04
阅读次数:
138
1.线程理论以及线程的两种创建方法 2.线程之间是数据共享的与join方法 3.多线程和多进程的效率对比 4.数据共享的补充线程开启太快 5.线程锁 互斥锁 同步锁 6.死锁现象和递归锁 7.守护线程和守护进程的对比 8.补充 9.GIL锁&GIL锁与线程锁的区别 10.GIL锁补充 11.信号量 ...
分类:
编程语言 时间:
2019-01-14 23:15:57
阅读次数:
256
什么是线程 进程:资源分配单位 线程:cpu执行单位(实体),每一个py文件中就是一个进程,一个进程中至少有一个线程 线程的两种创建方式: 一 二 线程的创建和销毁,相对于进程来说开销特别小 线程之间资源共享,共享的是同一个进程中的资源, 资源共享就涉及到数据安全问题,加锁来解决 线程锁 From ...
分类:
编程语言 时间:
2019-01-14 17:18:18
阅读次数:
143
1.线程 1.进程与线程 进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率。很多人就不理解了,既然进程这么优秀,为什么还要线程呢?其实,仔细观察就会发现进程还是有很多缺陷的,主要体现在两点上: 进程只能在一个时间干一件事,如果想同时干两件事或 ...
分类:
编程语言 时间:
2019-01-11 23:21:31
阅读次数:
242
一 线程 什么是线程? 程序的执行路线,线程是cpu上的的执行单位。传统举例:我们把操作系统比喻为一个工厂,进程就是这个工厂中的车间,线程是属于工厂中的流水线。 进程和线程的关系? 1.进程中包含了运行程序需要的所有资源。 2.进程是一个资源单位,线程是CPU的最小执行单位。 3.每一个进程一旦被创 ...
分类:
编程语言 时间:
2019-01-04 16:15:30
阅读次数:
187
线程锁的本质:线程控制、线程状态控制 while if https://www.cnblogs.com/feng9exe/p/8319000.html https://www.cnblogs.com/feng9exe/p/8799312.html https://www.cnblogs.com/fe ...
分类:
编程语言 时间:
2019-01-03 17:27:07
阅读次数:
177
Condition(条件变量)通常与一个锁关联。需要在多个Contidion中共享一个锁时,可以传递一个Lock/RLock实例给构造方法,否则它将自己生成一个RLock实例。 不理解锁的,请看上一条随笔。 Condition(): acquire(): 线程锁 release(): 释放锁 wai ...
分类:
编程语言 时间:
2018-12-31 23:46:12
阅读次数:
412
要使用Python的多线程,首先要了解一个概念。GIL(global interpreter lock),翻译过来就是以解释器为单位的全局锁。 用过线程锁的都知道,LOCK就是用来管理住线程,让一个指定的线程先运行,其他的先暂停(等待),避免线程的混乱,尤其是在共用变量的情况下。 GIL也是一样的概 ...
分类:
编程语言 时间:
2018-12-31 15:51:41
阅读次数:
198
线程锁(也称互斥锁)是同一时间只允许一个线程在执行,信号量可以用来表示同一时间允许执行的线程的数目。 结果可以看到是五个五个的一起执行 run the thread: 0run the thread: 3run the thread: 4run the thread: 2run the thread ...
分类:
其他好文 时间:
2018-12-30 23:59:35
阅读次数:
337
为什么要使用单例模式 实际开发中,为了节约系统资源,有时需要确保系统中某个类只有唯一的一个实例,当这个唯一实例创建成功后,就无法再创建一个同类型的其它对象,所有的操作都只能基于这个唯一实例。为了确保实例的唯一性,可以通过单例模式实现。 <! more 最简单的单例类设计 因为构造函数的私有化,所以在 ...
分类:
编程语言 时间:
2018-12-27 12:01:16
阅读次数:
228