大数据学习Python web开发v大数据学习分享

Python编程之线程中的信息隔离!这才叫Python!

2018-05-15  本文已影响3人  Python程序员

大家好, 并发编程 进入第三篇。

上班第一天,大家应该比较忙吧。小明也是呢,所以今天的内容也很少。只要几分钟就能学完。

昨天我们说,线程与线程之间要通过消息通信来控制程序的执行。

讲完了消息通信,今天就来探讨下线程里的 信息隔离 是如何做到的。

大家注意:

信息隔离 ,这并不是官方命名的名词,也不是网上广为流传的名词。是我为了方便理解而自创的,大家知道就好咯。

在这里还是要推荐下我自己建的Python开发学习群:483546416,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴

本文目录

初步认识信息隔离

信息隔离的意义何在

. 初步认识信息隔离

什么是 信息隔离 ?

比如说,咱有两个线程,线程A里的变量,和线程B里的变量值不能共享。这就是 信息隔离 。

你可能要说,那变量名取不一样不就好啦?

是的,如果所有的线程都不是由一个class实例化出来的同一个对象,确实是可以。这个问题我们暂且挂着,后面我再说明。

那么,如何实现 信息隔离 呢?

在Python中,其提供了 threading.local 这个类,可以很方便的控制变量的隔离,即使是同一个变量,在不同的线程中,其值也是不能共享的。

用代码来看下

友情提醒:

以下代码,若要理解,可能需要你了解下socket的网络编程相关内容。我在前几天的文章中有发布一篇相关的文章,没有基础的同学可以先去看看那篇文章。

上一篇下一篇

猜你喜欢

热点阅读