当前位置: 技术问答>linux和unix
不使用semget等信号量相关的函数如何实现多个进程对同一个文件的访问
来源: 互联网 发布时间:2016-09-15
本文导语: 在Android上写一个配置文件, 需要被多个文件访问,但是android上没找到semget之类的 请问有没有什么办法实现这个功能呢? | 有些书上叫记录锁: int fcntl(int filedes,int cmd,struct flock *flockptr); ...
在Android上写一个配置文件, 需要被多个文件访问,但是android上没找到semget之类的
请问有没有什么办法实现这个功能呢?
请问有没有什么办法实现这个功能呢?
|
有些书上叫记录锁:
int fcntl(int filedes,int cmd,struct flock *flockptr);
cmd:F_GETLK,F_SETLK,F_SETLKW
struct flock {
short l_type;//F_RDLCK,F_WRLCK,or F_UNLCK
off_t l_start;//offset in bytes,relative to l_whence
short l_whence;//SEEK_SET,SEEK_CUR,or SEEK_END
off_t l_len;//length,in bytes;0 means lock to EOF
pid_t l_pid;//returned with F_GETLK
};
int fcntl(int filedes,int cmd,struct flock *flockptr);
cmd:F_GETLK,F_SETLK,F_SETLKW
struct flock {
short l_type;//F_RDLCK,F_WRLCK,or F_UNLCK
off_t l_start;//offset in bytes,relative to l_whence
short l_whence;//SEEK_SET,SEEK_CUR,or SEEK_END
off_t l_len;//length,in bytes;0 means lock to EOF
pid_t l_pid;//returned with F_GETLK
};
|
用文件锁吧
|
flock可以吗?
|
1、信号量和互斥体。
2、spinlock
3、seqlock
4、completion
android上面几种总应该可以吧?
2、spinlock
3、seqlock
4、completion
android上面几种总应该可以吧?
|
啥语言?
java or c ?
java or c ?