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

做网站要给ftp密码吗/app推广一手单平台

做网站要给ftp密码吗,app推广一手单平台,网站流量突然增加,网站建设 网站优化最近工作当中做了一个项目,这个项目主要是操作文件的。在操作耗时操作的时候,我们一般采用多线程或者多进程。在开发中,如果多个线程需要对文件进行读写操作,就需要用到线程锁或者是文件锁。使用fcntl在Linux下,Python…

最近工作当中做了一个项目,这个项目主要是操作文件的。

在操作耗时操作的时候,我们一般采用多线程或者多进程。在开发中,如果多个线程需要对文件进行读写操作,就需要用到线程锁或者是文件锁。

使用fcntl

在Linux下,Python的标准库有线程的文件锁,来自fcntl模块。这个模块提供了Unix系统fcntl()和ioctl()的接口。

对于文件锁的操作,主要需要使用fcntl.flock(fd,operation)这个函数。

其中,参数fd表示文件描述符;参数operation指定要进行的锁操作,该参数的取值有如下几种:

LOCK_SH:表示要穿件一个共享锁,在任意时间内,一个文件的共享锁可以被多个进程拥有。

LOCK_EX:表示创建一个排它锁,在任意时间内,一个文件的排它锁只能被一个进程拥有

LOCK_UN:表示删除该进程创建的锁

LOCK_MAND:它主要是用于共享模式强制锁,它可以与LOCK_READ或者LOCK_WRITE联合起来使用,从而表示是否允许并发的读操作或者并发的写操作。

我这次工作的应用场景是两个py文件操作同一个文本,所以是多进程操作文本。

#!/usr/bin/python#coding:utf-8

importfcntlimportthreadingimporttimedefwritetoTxt():

id=threading.currentThread().getName()

with open("aaa.txt", "a") as f:#fcntl.flock(f.fileno(), fcntl.LOCK_EX) # 加锁

print("{} acquire lock".format(id))for i in range(10):

f.write('"write from" + str(i) + {} \n'.format(id))

time.sleep(2)#在with块外,文件关闭,自动解锁

print("{} exit".format(id))if __name__ == '__main__':

writetoTxt()

执行结果:

使用文件锁

没有使用文件锁

如果从执行结果出发,我们看不出两者之间的区别,我想应该是写入内容太少了,看不出效果,有时间再研究下。

通过执行界面,我们是可以看出两者的区别的:

使用文件锁

从下面两个图中,我们可以看出,file_lock1.py文件是处于阻塞状态的,但是没有退出。

不使用文件锁

说明这两个进程都不会被阻塞。

注意:

1、文件close之火,文件锁也会失效

2、进程结束后,文件锁也会失效

3、flock()的LOCK_EX是"劝告锁",系统内核不会强制检查锁的状态,需要在代码中进行文件操作的地方显示检查才能生效。

相关资料:

1.Linux中的文件锁的概念及其实现(http://blog.csdn.net/jianhong1990/article/details/26369465)

2.fcntl模块的官方文档(https://docs.python.org/2/library/fcntl.html#fcntl.flock)

建议:

没事还是多看看官方文档吧,能收获很多。

http://www.jmfq.cn/news/5214475.html

相关文章:

  • html5做静态网站/百度搜索seo优化技巧
  • dw网站引导页怎么做/软文代发
  • 电子商务网站建设与管理项目计划书/免费拓客软件排行榜
  • 哪里有网站开发/建网站教学
  • 网站先做前端还是后台/关键词全网搜索工具
  • 行业公司网站建设/互联网平台推广怎么做
  • 做任务网站源码/上海seo关键词优化
  • 哪个网站可以做服装批发/免费建立个人网站凡科
  • 做调查问卷权威网站/百度个人中心登录
  • 汕头市城市建设总公司网站/昆山网站制作哪家好
  • 上海高端品牌网站建设/中国电信视频app下载
  • 制作闹钟网站/百度安装应用
  • 阿里云的网站程序如何做/爱站工具包的主要功能
  • 扬州 网站建设/艾瑞指数
  • 遵义市住房和城乡建设局网站/百度24小时人工客服电话
  • 怎么创建公司的个人网站/百度关键词热度查询
  • 织梦茶叶网站模板免费下载/营销推广seo
  • 金华职院优质校建设网站/优化关键词怎么做
  • 杭州企业标志设计/seo职位
  • 诸城哪有做公司网站的/社区推广方法有哪些
  • 目前网站类型主要包括哪几种/班级优化大师官方免费下载
  • 网站外链如何建设最有用/活动营销方案
  • 四川建设招投标网站/求网址
  • 网站建设入门/百度官网电话
  • wordpress自定义站点/对百度竞价排名的看法
  • 鞍山做百度网站一年多少钱/网址大全qq浏览器
  • 网站上的二维码怎么做的/最新军事头条
  • 微信商城和网站建设/网址提交
  • wordpress主题上传/网站的seo方案
  • 如何在交易网站做电子印章/品牌传播推广方案