毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> linux >> 正文

如何实现多线程下的文件锁

更新时间:2012-12-12:  来源:毕业论文

如何实现多线程下的文件锁

我试过flock(),这个函数只是用于控制进程间的文件锁,在同一个进程下的多个线程是无效的哦。
我现在就想在同一个进程下多个线程中进行枷锁,防止另外一个线程执行写操作,该怎么办?有什么函数或者方法没?

其实不需要用锁呀
1.先得到文件有多大,然后创建一个此大小的下载文件,
2.将文件映射内存的方式. open,mmap,
3.计算好每个线程下载片段的偏移量与大小.只操作自己对应线程的内存地方.(每个线程下载的片段又不会重合,所以也就不需要锁的.)

fcntl
进程间也是可以用的

文件太大的话,比如上GB,那就根据此时各个线程下载片段的位置,分段映射,不用全部映射整个下载文件.

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。