V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pqpo
V2EX  ›  程序员

Android 进程锁? PLock 了解一下。

  •  1
     
  •   pqpo · 2018-05-02 14:10:27 +08:00 · 3809 次点击
    这是一个创建于 2404 天前的主题,其中的信息可能已经有所发展或是发生改变。

    线上搜了一圈跨进程锁,没找到现成的,实现了一把 Android Library,也可以移植到 Java 工程。
    使用 fcntl ,基于文件锁实现。 各位大佬有其他更好的方案吗?

    github 地址:https://github.com/pqpo/PLock

    另外,如果觉得不错,小手点个 start !

    6 条回复    2019-03-25 08:31:58 +08:00
    pqpo
        1
    pqpo  
    OP
       2018-05-02 14:24:33 +08:00
    ```
    bool PLock::writeLock() {
    if (fd < 0) {
    return false;
    }
    struct flock lock;
    init_flock(&lock, F_WRLCK, SEEK_SET, 0, 0);
    return fcntl(fd, F_SETLKW, &lock) == 0;
    }
    ```
    johnidy
        2
    johnidy  
       2018-05-02 17:53:05 +08:00
    android mutex 可以线程同步的情况,也可以处理进程间同步的情况
    wadahana
        3
    wadahana  
       2018-05-02 18:00:41 +08:00
    java.nio.channels.FileLock;
    pqpo
        4
    pqpo  
    OP
       2018-05-04 13:00:11 +08:00
    @johnidy android mutex 支持进程同步?
    zj299792458
        5
    zj299792458  
       2018-05-08 13:58:34 +08:00 via iPhone
    进程不共享资源,为什么需要锁……
    dandingol03
        6
    dandingol03  
       2019-03-25 08:31:58 +08:00
    这个怎么同步不下来呢 -> implementation 'com.github.pqpo:PLock:1.0.0'
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2820 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:49 · PVG 15:49 · LAX 23:49 · JFK 02:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.