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

临沂网站建设推广网站要怎么样做排名才上得去

临沂网站建设推广,网站要怎么样做排名才上得去,网站推广服务网站连锁,思途旅游网站建设系统多个进程共享同一份资源#xff08;共享内存、文件等#xff09;时#xff0c;会涉及到资源竞争问题。为了解决这种问题#xff0c;一般采取的措施是进程在访问资源前加锁保护#xff0c;避免多个进程同时读写。本文介绍的Python文件锁可以用来解决多进程的同步问题。 目录…多个进程共享同一份资源共享内存、文件等时会涉及到资源竞争问题。为了解决这种问题一般采取的措施是进程在访问资源前加锁保护避免多个进程同时读写。本文介绍的Python文件锁可以用来解决多进程的同步问题。 目录1 Linux下的Python文件锁2 Windows下的Python文件锁3 总结3.1 filelock的使用场景进程一进程二1 Linux下的Python文件锁 Linux下使用文件锁用到了fcntl模块该模块是标准库用来对文件描述符执行文件控制和I/O控制。 fcntl的文件锁用到了fcntl.flock(fd, operation)方法它的官方说明如下 对文件描述符fd执行锁定操作。 如果flock失败将引发OSError异常。 参数含义 fd要锁定的文件的描述符。 operation操作类型有以下三种。 类型描述LOCK_UN解锁LOCK_SH获取共享锁所有进程都只能读不能写LOCK_EX获取独占锁只有当前进程可以读写LOCK_NB非阻塞加锁失败或成功都立即返回如果不加这个参数函数会一直阻塞直到拿到锁。 用法 def tryLock(f) :try :fcntl.flock(f, fcntl.LOCK_EX | fcntl.LOCK_NB)return Trueexcept Exception as e:return Falsedef tryUnLock(f) :try :fcntl.flock(f, fcntl.LOCK_UN)return Trueexcept Exception as e:return Falsef open(file.txt, w) if tryLock(f) True:f.write(1234)tryUnLock(f)flock函数在执行失败时会抛出异常所以要用try-except来捕捉避免flock的时候程序退出。 fcntl模块支持在独占模式下写文件。 2 Windows下的Python文件锁 Windows版本的Python没有提供fcntl模块它使用文件锁时使用的是filelock模块需要自己安装。 打开命令行安装。 pip install filelock虽然没找到filelock的官方文档但可以通过dir函数来看它有些什么方法。 import filelock print(dir(filelock))输出。 [AcquireReturnProxy, BaseFileLock, FileLock, SoftFileLock, Timeout, UnixFileLock, WindowsFileLock, _FileLock, __all__, __annotations__, __builtins__, __cached__, __doc__, __file__, __loader__, __name__, __package__, __path__, __spec__, __version__, _api, _error, _soft, _unix, _util, _windows, annotations, has_fcntl, sys, version, warnings]Python里形如__xxx__的一般都是私有成员。 没有直接提供方法但从中能看到一个FileLock类和__path__路径打印一下。 import filelock print(dir(filelock.FileLock)) print(filelock.__path__)输出。 [__abstractmethods__, __call__, __class__, __del__, __delattr__, __dict__, __dir__, __doc__, __enter__, __eq__, __exit__, __format__, __ge__, __getattribute__, __gt__, __hash__, __init__, __init_subclass__, __le__, __lt__, __module__, __ne__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __slots__, __str__, __subclasshook__, __weakref__, _abc_impl, _acquire, _recreate_cm, _release, acquire, is_locked, lock_file, release, timeout][D:\\xxx\\xxx\\xxx\\site-packages\\filelock]FileLock提供了acquire、is_locked、release、timeout。按照名称acquire和release是上锁和解锁的方法timeout是上锁的超时限制。 进入__path__所在目录用vscode的全局搜索分别找到FileLock、acquire、release、timeout。 用这种方法得到以下使用例程。 from filelock import FileLock import timedef tryLock(locker, timeout 3):try:locker.acquire(timeout)return Trueexcept Exception as e:return Falsedef tryUnLock(locker):try:locker.release()return Trueexcept Exception as e:return Falselocker FileLock(file.txt) if tryLock(locker, 0.1) True:time.sleep(5)tryUnLock(locker)filelock同样是通过抛出异常来表示上锁失败。 filelock模块在上锁状态下不允许写文件。 filelock支持在Linux环境下使用。 3 总结 在Linux环境下可以用fcntl或者filelock模块来实现文件锁功能而在Windows环境下只能用filelock。 fcntl和filelock上锁的区别 filelockfcntl可以设置阻塞超时时长可以设置阻塞和非阻塞没有超时机制上锁后不能访问文件在LOCK_EX 独占锁模式下当前进程可以读写文件需要自行安装Python自带的标准库 3.1 filelock的使用场景 filelock在上锁之后不能访问文件那么它有什么用呢 在应用中可以把filelock上锁的文件作为进程间同步的标志物比如以下例子 tryLock和tryUnLock使用的是第二节例程的。 进程一 locker FileLock(lock_file) while True:if tryLock(locker) True:## operate1tryUnLock(locker)进程二 locker FileLock(lock_file) while True:if tryLock(locker) True:## operate2tryUnLock(locker)以上两个进程同时运行可以确保操作互不干扰。
http://www.tj-hxxt.cn/news/218328.html

相关文章:

  • 沈阳怎么做网站物流公司网站源码
  • 网络营销中网站建设的策略北京尚层装饰总部电话
  • 网站旁边的小图标怎么做的一级直播
  • 阜阳集团网站建设唐山建设网站
  • wordpress安装到网站天眼查企业信息查询平台官网
  • app怎样下载安装广州建站优化公司
  • php和asp.net建立电商网站比较网站建设咨询什么
  • 创研科技网站南昌营销网站开发
  • 上海市政建设有限公司网站网站开发需多少钱
  • 名站在线网站做彩票
  • 直播网站开发需要多少钱自己开发一个app
  • 做网站云服务器还是云虚拟主机河北利用关键词优化网页
  • 做一个什么样的网站WordPress弊端
  • 企业信息网站模板网络科技工作室起名
  • 开通网站空间在哪个网站注册公司
  • 网站怎么申请怎么注册mt4外汇金融网站建设
  • 怎么免费注册网站上海网站建设设计制作
  • 网站建设论文 优帮云中信建设有限责任公司官网英文
  • 石家庄购物网站排名蓝海国际版网站建设
  • 做外卖的网站wordpress名片模板
  • 合肥企业自助建站做网站要多少费用
  • mvc 网站开发公司网站简历刷新怎么做
  • 外贸网站谷歌seo目前做哪个网站致富
  • 网站建设论文提纲wordpress安卓客户端
  • wordpress建站服务网站自己怎么做优化
  • 权威的网站建设公司石家庄最新封闭消息
  • 企业网站建立教程网站通栏尺寸
  • 九江做网站哪家便宜建站精灵网站模板
  • 网站建设汇报ppt建站宝盒成品网站演示
  • 北京网站首页排名公司四川省建设厅网站首页