nslock

    2熱度

    1回答

    上設置斷點我正在嘗試調試多個線程。 *** -[NSLock lock]: deadlock (<NSLock: 0xc388ab0> '(null)') *** Break on _NSLockError() to debug. 我該如何調試?

    1熱度

    2回答

    我應該在應用程序委託中製作一個NSLock實例,供所有類使用嗎?或者建議每個類根據需要實例化自己的NSLock實例? 如果我在第二種情況下鎖定工作,例如,是否可以訪問分佈在兩個視圖控制器上的託管對象上下文?

    0熱度

    1回答

    我有一個類有2個方法,第一個使一秒動畫,第二個執行一些任務。 從第二個類中調用此類來連續執行這兩個操作,但我想強制執行鎖定,以便第二個操作僅在第一個操作完成時才運行。 我的問題是,什麼是最好的方式來做到這一點。 這裏是我的代碼: @implementation Server - (id)init{ if ((self = [super init])) { syncLo

    2熱度

    3回答

    我有我的主應用程序委託,它包含一個返回對象的方法。此應用程序委託在主線程上運行。 我也有一個NSOperation在不同的線程上運行。除了希望能夠在我的主線程上調用我的應用程序委託方法,我還需要從我的NSOperation線程調用它來獲取它返回的對象。我的第一個問題是,如果我把這個從我的其他線程... id newObject = [[[UIApplication sharedApplicatio

    10熱度

    3回答

    時可可線程同步最近,像一些人一樣,發現[ALAssetsLibrary enumerateGroupsWithTypes]喜歡在另一個線程上運行其塊。真可惜,蘋果並沒有文件證明:-) 在我目前的情況下,我需要等待枚舉完成,主線程返回任何結果之前。我顯然需要某種線程同步。 我已閱讀關於NSLock & NSConditionLock,但似乎沒有任何東西符合'發出此工作線程已完成的阻塞線程'的要求。這

    4熱度

    1回答

    我需要使用某種信號量來保護對互斥區域的訪問,但是我需要該區域跨越多個線程。這是我的文檔中找到: 警告:NSLock類使用POSIX線程 實施其鎖定 行爲。當向NSLock對象發送解鎖消息 時,必須確保該消息是從發送初始鎖 消息的相同線程發送的 消息。解鎖來自 不同線程的鎖可導致 未定義的行爲。 我記得我四處閱讀,這是一種防止編程錯誤的方法。這個陳述是正確的嗎? 我從文檔中讀取了線程指南,但是我找不

    8熱度

    2回答

    我有一個循環,其與 [lock lock]; 開始,因爲在循環體中,我創建另一個線程這就需要循環再次運行前完成。 (完成後另一個線程將解鎖)。 但是在第二圈我得到以下錯誤: 2011-02-02 07:15:05.032 BLA[21915:a0f] *** -[NSLock lock]: deadlock (<NSLock: 0x100401f30> '(null)') 2011-02-0