当前位置: 首页 > news >正文

可以做兼职的网站有哪些工作怎样建设个人网站

可以做兼职的网站有哪些工作,怎样建设个人网站,铜陵app网站做营销招聘,海宁营销型网站设计下面是一个关于 locked_cached_property 装饰器的详细教程。这个装饰器将一个方法转换为一个惰性属性#xff0c;在第一次访问时计算其值#xff0c;并在随后的访问中缓存该值。同时#xff0c;它在多线程环境中是线程安全的。 教程#xff1a;理解和使用 locked_cached_p…下面是一个关于 locked_cached_property 装饰器的详细教程。这个装饰器将一个方法转换为一个惰性属性在第一次访问时计算其值并在随后的访问中缓存该值。同时它在多线程环境中是线程安全的。 教程理解和使用 locked_cached_property 装饰器 1. 什么是 locked_cached_property locked_cached_property 是一个将函数转换为惰性属性的装饰器。惰性属性意味着该函数仅在第一次访问时被调用然后结果被缓存后续访问直接返回缓存的值。这个实现还通过使用线程锁确保在多线程环境中的安全性。 2. 实现代码解析 下面是 locked_cached_property 的实现代码 from threading import RLockclass locked_cached_property(object):A decorator that converts a function into a lazy property. Thefunction wrapped is called the first time to retrieve the resultand then that calculated result is used the next time you accessthe value. Works like the one in Werkzeug but has a lock forthread safety.def __init__(self, func, nameNone, docNone):self.__name__ name or func.__name__self.__module__ func.__module__self.__doc__ doc or func.__doc__self.func funcself.lock RLock()def __get__(self, obj, typeNone):if obj is None:return selfwith self.lock:value obj.__dict__.get(self.__name__, _missing)if value is _missing:value self.func(obj)obj.__dict__[self.__name__] valuereturn value_missing object()2.1 构造方法 __init__ 参数 func: 被装饰的函数。name: 属性名默认为函数名。doc: 文档字符串默认为函数的文档字符串。 功能: 初始化属性名、模块名、文档字符串、被装饰的函数和线程锁。 2.2 __get__ 方法 参数 obj: 调用属性的实例。type: 调用属性的类型默认为 None。 功能: 检查对象是否为 None是则返回自身。获取对象字典中的属性值如果不存在则调用被装饰的函数计算值并将其存储在对象字典中。使用线程锁确保在多线程环境中的安全性。 3. 实际代码案例 让我们来看一个实际的代码案例展示如何使用 locked_cached_property 装饰器。 from threading import RLock import time_missing object()class locked_cached_property(object):A decorator that converts a function into a lazy property. Thefunction wrapped is called the first time to retrieve the resultand then that calculated result is used the next time you accessthe value. Works like the one in Werkzeug but has a lock forthread safety.def __init__(self, func, nameNone, docNone):self.__name__ name or func.__name__self.__module__ func.__module__self.__doc__ doc or func.__doc__self.func funcself.lock RLock()def __get__(self, obj, typeNone):if obj is None:return selfwith self.lock:value obj.__dict__.get(self.__name__, _missing)if value is _missing:value self.func(obj)obj.__dict__[self.__name__] valuereturn valueclass Example:locked_cached_propertydef compute_expensive_value(self):print(Computing the value...)time.sleep(2) # 模拟一个耗时操作return 42# 示例使用 example Example() print(example.compute_expensive_value) # 第一次访问计算值并缓存 print(example.compute_expensive_value) # 第二次访问返回缓存值3.1 代码解释 定义类 Example 定义一个使用 locked_cached_property 装饰器的方法 compute_expensive_value。方法中模拟了一个耗时操作并返回一个结果。 示例使用 创建 Example 类的实例。第一次访问 compute_expensive_value 属性时触发计算并输出 “Computing the value…”等待2秒后返回结果 42。第二次访问时直接返回缓存的结果 42不再触发计算。 4. 总结 通过这个教程我们学习了 locked_cached_property 装饰器的实现和使用。它不仅可以将一个函数转换为惰性属性还通过使用线程锁确保在多线程环境中的安全性。这对于需要高效计算和多线程安全的场景非常有用。 希望这个教程能够帮助你理解和应用 locked_cached_property 装饰器。
http://www.dnsts.com.cn/news/32160.html

相关文章:

  • 东营可以做网站的公司在哪专门找建筑案例的网站
  • 网站整站优化公司新品发布会主题名字
  • 浏览器怎样屏蔽网站全国妇联官方网站儿童之家建设
  • 网站开发专业分数线哪里可以做公司网站备案
  • 用word怎么做首页网站通城网站建设
  • 做网站的叫什么职位网站建设好学么
  • 网站常见错误代码天津高端网站设计公司
  • 足球哪个网站做的比较好怎么做网站优化 site
  • 建设局查询网站首页wordpress获取广告js
  • 班级网站建设需求分析网站建设视频技术论坛
  • 我要自学网做网站软件开发文档编制
  • 电子商城网站开发购物车竞价网站制作
  • 凡科网建站系统源码中国空间网站
  • 长沙租车网站排名宁波高端网站建设
  • 北京网站优化企业推荐股票的好网站
  • seo网站推广教程新公司如何做网站
  • kuler 网站跳转网站正在建设中
  • 合肥做网站哪家好网站外部链接怎么做
  • 谷歌推广费用多少优化大师下载安装免费
  • 沧州做网站优化哪家公司便宜上海紫博蓝网站
  • 网站转移码php旅游网站cms
  • 电子商务网站建设实训报告心得网站跳出率多少正常
  • 杭州专业的网站制作公司开公司需要多少钱
  • 怎么样自己制作网站google在线网页代理
  • 个人网站的首页wordpress 管理系统
  • 外贸建站深圳抖音seo搜索优化
  • 企业网站源码 vue手机端网站seo
  • 一起做业官方网站wordpress邮箱注册功能
  • 网站名称和备案公司名称不一样前端毕业设计题目可以做哪些
  • 交易平台网站开发教程百度云做文案的网站有些什么软件