相关疑难解决方法(0)

objc_sync_enter/objc_sync_exit无法使用DISPATCH_QUEUE_PRIORITY_LOW

我的应用程序需要一个读/写锁.我读过 https://en.wikipedia.org/wiki/Readers%E2%80%93writer_lock

并编写了我自己的类,因为swift中没有读/写锁

class ReadWriteLock {

    var logging = true
    var b = 0
    let r = "vdsbsdbs" // string1 for locking
    let g = "VSDBVSDBSDBNSDN" // string2 for locking

    func waitAndStartWriting() {
        log("wait Writing")
        objc_sync_enter(g)
        log("enter writing")
    }


    func finishWriting() {
        objc_sync_exit(g)
        log("exit writing")
    }

    // ???? ???? ??? ?????? ?????????? ????? ?????? ??????
    // ? ????????? ??????
    func waitAndStartReading() {

        log("wait reading")
        objc_sync_enter(r)
        log("enter reading")
        b++
        if b == 1 {
            objc_sync_enter(g)
            log("read lock writing")
        }

        print("b = …
Run Code Online (Sandbox Code Playgroud)

multithreading ios swift

27
推荐指数
3
解决办法
9007
查看次数

标签 统计

ios ×1

multithreading ×1

swift ×1